{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "af375836-b870-458b-87d1-4e00565977eb",
   "metadata": {
    "editable": true,
    "execution": {
     "iopub.execute_input": "2024-07-11T15:36:31.385695Z",
     "iopub.status.busy": "2024-07-11T15:36:31.385368Z",
     "iopub.status.idle": "2024-07-11T15:36:31.389515Z",
     "shell.execute_reply": "2024-07-11T15:36:31.388754Z",
     "shell.execute_reply.started": "2024-07-11T15:36:31.385660Z"
    },
    "tags": [],
    "id": "af375836-b870-458b-87d1-4e00565977eb"
   },
   "outputs": [],
   "source": [
    "%%capture --no-stderr\n",
    "!pip install -U langchain langchain_community pypdf sentence_transformers chromadb"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "import langchain, langchain_community, pypdf, sentence_transformers, chromadb\n",
    "\n",
    "for module in (langchain, langchain_community, pypdf, sentence_transformers, chromadb):\n",
    "    print(f\"{module.__name__:<30}{module.__version__}\")"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "e-Oy-FOJgB_A",
    "outputId": "5512085a-528b-4778-fc63-50bf0b82d2be"
   },
   "id": "e-Oy-FOJgB_A",
   "execution_count": null,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "/usr/local/lib/python3.10/dist-packages/sentence_transformers/cross_encoder/CrossEncoder.py:11: TqdmExperimentalWarning: Using `tqdm.autonotebook.tqdm` in notebook mode. Use `tqdm.tqdm` instead to force console mode (e.g. in jupyter console)\n",
      "  from tqdm.autonotebook import tqdm, trange\n"
     ]
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "langchain                     0.2.10\n",
      "langchain_community           0.2.9\n",
      "pypdf                         4.3.1\n",
      "sentence_transformers         3.0.1\n",
      "chromadb                      0.5.5\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1e2c72b8-ee12-4130-af88-699998aa230c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:03.664713Z",
     "iopub.status.busy": "2024-07-21T13:22:03.664452Z",
     "iopub.status.idle": "2024-07-21T13:22:04.061711Z",
     "shell.execute_reply": "2024-07-21T13:22:04.061242Z",
     "shell.execute_reply.started": "2024-07-21T13:22:03.664688Z"
    },
    "id": "1e2c72b8-ee12-4130-af88-699998aa230c"
   },
   "outputs": [],
   "source": [
    "import os\n",
    "import pandas as pd\n",
    "\n",
    "from langchain_community.vectorstores import Chroma"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "841d2b02-ad06-40d2-b11f-c7adccec6ca2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:04.062389Z",
     "iopub.status.busy": "2024-07-21T13:22:04.062201Z",
     "iopub.status.idle": "2024-07-21T13:22:04.064861Z",
     "shell.execute_reply": "2024-07-21T13:22:04.064565Z",
     "shell.execute_reply.started": "2024-07-21T13:22:04.062376Z"
    },
    "id": "841d2b02-ad06-40d2-b11f-c7adccec6ca2"
   },
   "outputs": [],
   "source": [
    "# 如果已经下载到本地，可以替换为本地路径\n",
    "EMBEDDING_MODEL_PATH = 'BAAI/bge-large-zh-v1.5'\n",
    "dt = '20240713'\n",
    "version = 'v1'\n",
    "\n",
    "output_dir = os.path.join('outputs', f'{version}_{dt}')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cf7e81e3-4c82-4842-aef5-7592caaf1d39",
   "metadata": {
    "id": "cf7e81e3-4c82-4842-aef5-7592caaf1d39"
   },
   "source": [
    "# 文档处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "da15f02e-3131-43fb-81c5-f4da615c449b",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:04.065430Z",
     "iopub.status.busy": "2024-07-21T13:22:04.065320Z",
     "iopub.status.idle": "2024-07-21T13:22:04.080425Z",
     "shell.execute_reply": "2024-07-21T13:22:04.079979Z",
     "shell.execute_reply.started": "2024-07-21T13:22:04.065419Z"
    },
    "id": "da15f02e-3131-43fb-81c5-f4da615c449b"
   },
   "outputs": [],
   "source": [
    "from langchain_community.document_loaders import PyPDFLoader"
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 文档加载"
   ],
   "metadata": {
    "id": "0PNdWJAALMni"
   },
   "id": "0PNdWJAALMni"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "e6920e29-bc7d-4635-be06-d151eaf0e100",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:04.081018Z",
     "iopub.status.busy": "2024-07-21T13:22:04.080903Z",
     "iopub.status.idle": "2024-07-21T13:22:05.275067Z",
     "shell.execute_reply": "2024-07-21T13:22:05.274519Z",
     "shell.execute_reply.started": "2024-07-21T13:22:04.081006Z"
    },
    "id": "e6920e29-bc7d-4635-be06-d151eaf0e100"
   },
   "outputs": [],
   "source": [
    "loader = PyPDFLoader(\"data/2024全球经济金融展望报告.pdf\")\n",
    "documents = loader.load()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "03f6f2a8-d1d9-42ad-9eee-cd5fe74c312f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:05.275745Z",
     "iopub.status.busy": "2024-07-21T13:22:05.275596Z",
     "iopub.status.idle": "2024-07-21T13:22:05.377362Z",
     "shell.execute_reply": "2024-07-21T13:22:05.376902Z",
     "shell.execute_reply.started": "2024-07-21T13:22:05.275733Z"
    },
    "id": "03f6f2a8-d1d9-42ad-9eee-cd5fe74c312f"
   },
   "outputs": [],
   "source": [
    "qa_df = pd.read_excel(os.path.join(output_dir, 'question_answer.xlsx'))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "841ec659-4ad7-4e1f-b1ea-3477bf97fde3",
   "metadata": {
    "id": "841ec659-4ad7-4e1f-b1ea-3477bf97fde3"
   },
   "source": [
    "## 文档切分"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "74fe856a-7c19-4c3c-bb30-7abfa6298f74",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:05.378932Z",
     "iopub.status.busy": "2024-07-21T13:22:05.378773Z",
     "iopub.status.idle": "2024-07-21T13:22:05.381649Z",
     "shell.execute_reply": "2024-07-21T13:22:05.381345Z",
     "shell.execute_reply.started": "2024-07-21T13:22:05.378919Z"
    },
    "id": "74fe856a-7c19-4c3c-bb30-7abfa6298f74"
   },
   "outputs": [],
   "source": [
    "from uuid import uuid4\n",
    "import os\n",
    "import pickle\n",
    "\n",
    "from langchain.text_splitter import RecursiveCharacterTextSplitter\n",
    "\n",
    "def split_docs(documents, filepath, chunk_size=400, chunk_overlap=40, seperators=['\\n\\n\\n', '\\n\\n'], force_split=False):\n",
    "    if os.path.exists(filepath) and not force_split:\n",
    "        print('found cache, restoring...')\n",
    "        return pickle.load(open(filepath, 'rb'))\n",
    "\n",
    "    splitter = RecursiveCharacterTextSplitter(\n",
    "        chunk_size=chunk_size,\n",
    "        chunk_overlap=chunk_overlap,\n",
    "        separators=seperators\n",
    "    )\n",
    "    split_docs = splitter.split_documents(documents)\n",
    "    for chunk in split_docs:\n",
    "        chunk.metadata['uuid'] = str(uuid4())\n",
    "\n",
    "    pickle.dump(split_docs, open(filepath, 'wb'))\n",
    "\n",
    "    return split_docs"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "splitted_docs = split_docs(documents, os.path.join(output_dir, 'split_docs.pkl'), chunk_size=500, chunk_overlap=50)"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "fh0N6CwXe-Ho",
    "outputId": "1f1d5b00-f1cc-451b-827c-f834a59191b3"
   },
   "id": "fh0N6CwXe-Ho",
   "execution_count": null,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "found cache, restoring...\n"
     ]
    }
   ]
  },
  {
   "cell_type": "markdown",
   "id": "220dbc3a-fceb-4e49-a3f1-01e16660b2a6",
   "metadata": {
    "id": "220dbc3a-fceb-4e49-a3f1-01e16660b2a6"
   },
   "source": [
    "## 向量化"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f7124830-dba9-4609-aedb-f81f4e388fa4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:05.389230Z",
     "iopub.status.busy": "2024-07-21T13:22:05.389114Z",
     "iopub.status.idle": "2024-07-21T13:22:05.398475Z",
     "shell.execute_reply": "2024-07-21T13:22:05.397968Z",
     "shell.execute_reply.started": "2024-07-21T13:22:05.389219Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 514,
     "referenced_widgets": [
      "8ae8db517ad14268a8f7864a01b8191c",
      "a76676eca3684c3eb4a2a1d896c3a966",
      "04d57f5f4e694641a38239de125e446d",
      "92e13d95804a45d4a636dfbdec0772c2",
      "a761689717ac4ec89c218a99fce3eb27",
      "156f58b920b143c4b2147878f84a2809",
      "d11d56deec8547c48d7bfec194fead9b",
      "ed00c82e5220472d822e8dee4d773608",
      "db0cded2a2e14f7c821eb10ea54a6b80",
      "ce09b1931e5146d6b4a592afc8146bd6",
      "ab1782bb839b490f890a7b78c40cb9f9",
      "fc64c338a9234e2b95f2eb7193a8e976",
      "b51bb55a9e12441fa1cc8bf46fcee318",
      "cd7dd87b8b924da890595c26a47456e9",
      "04b4df7da6054cebb1b4a7361d904517",
      "b730a3024024445eb7b93ce25cf4a8bf",
      "525fb3b924614e74937ae9cd26711527",
      "78362c0f00114573bdd9ef5883815140",
      "8df9bde6169b46a498949108e00fbaf8",
      "b9d1345184cf4f35a7f107079bad50fc",
      "caa7636b326743e0a0b9075d029bf908",
      "c66e0318f9b444af84686d737555ace6",
      "a9798a3378554f408c7bd016abcb1d26",
      "c8f8237bbaea49d6824ca103d3a66bba",
      "fc9daa43549645708c23293195087cdb",
      "0e8bdeab87ba4aa4863bc8cb1f5d05e2",
      "0fa3d8cc67f245679850c5b9e9ba7b6b",
      "f7f88ad7f22e4076bcc3a4f5a3348883",
      "b627f32931c343e3927a930a82c2e180",
      "1afffc47ddfa4095bcdf42fef01b1771",
      "c21838ae58a642cd92d5bed9e2d64410",
      "fab84da34e7b4acaac607f3ebf41fc5e",
      "6d56498445964a739f55bd5914671611",
      "4bf9408046b24e70bcbc434ce81f1586",
      "b3e6e10a9c0945a2b29c3455a6db590e",
      "d8bf0fbdcbc24b938ccc3f5525496c8b",
      "68549cda864b414c9cc9c69c52c1c7bb",
      "3228b0e6be2146928c6dc0fbd5d2636e",
      "cab762281bc642b689349908f8c8d509",
      "a2eb0ac561e045ec9cb44586da815516",
      "9e6053b8a79841c1a2c75c110ed2e2c1",
      "173f5ea18ee643eda658ed6ec7fb8888",
      "385a708cb16f4de9bf83796f6c321d34",
      "93c6143ee1e34a589f102307fce2be46",
      "05ddafa8e53b4323a3b87773d8c52d7b",
      "cc3634bb596c4730a6ff72fbf6093e2b",
      "44f1502b9d8c44bdb8e67823df3b61df",
      "d7b73b320a214a1c8564cb87c9fc7c1f",
      "ce2e09ea7a584e87828f247c01e710ef",
      "b63739062c34496d9e18d64e9d572c04",
      "3a24ba6d66704525a0f65044d36c3116",
      "0c24bf2912564885944b15fe875b9e86",
      "2a1fa9e5abcc40a5b27565b86eba4f2a",
      "f4705f680041401f9ded40e945e5e72e",
      "64c85d2d6d164b579de82467cd0fc5a9",
      "d1c23ba161fe48deb887bef9a696e98c",
      "ee2051c6fa9c4c62abffb2c41ad6cbf9",
      "e41b27af5bdb4917b5c176b14f1d38f1",
      "2bd0a1cdd3a0493db3a2b7c9ea999614",
      "1bb07d56deff47b89d80c88460420a28",
      "e8484544ce2c4b82b306676a3c73f9bf",
      "70c9685019ed480fa6b1a30b224d3d0a",
      "f4f24a8906f7451abfe8cea83dbc6c2d",
      "d529d59457d14794862a5c98602eeb51",
      "5167b90dfe31453f98f7a97c1bf45e77",
      "36f12265773f4c95b0665bfaf3a383db",
      "d4250feb91a547b8ba55a716ed72bc41",
      "fe7e1ce77a8e459e817b5c3a061dc3b9",
      "cb2afcae4aeb45c4a097532ff5fe0660",
      "0367de25b0804a079fef3a9fa4a1b2f2",
      "044f48908671438ab65b8040a4b09f40",
      "c6701afdd6f24032acfa724c5d1b5ca3",
      "a6267c3585994150b0119e18f92b253c",
      "2528a771e3174761ac4fdbf5bb737722",
      "274c88624c3449799ec984186146b688",
      "8a391251a1c54dbba308f304d9d0b6dd",
      "fe47f740059d4216b018d9439bc9aafa",
      "4e2cca81afd544b5af33bad236a574cc",
      "2312778eaac94a2696f435c8443b58f7",
      "2b252be54a4e4758b9e039ce0d16ca3c",
      "354eacb8b3ff436aa6e9c98a0392a478",
      "4dd431b7458e4cfdb0b45ad6f4560574",
      "12126a45430f407d8c903f408679df7d",
      "432e5082c3424903a2e0fcf857947d6f",
      "269f2ddeec3e4ae6a9d13a46e2a831a1",
      "05a457d2c35b403e9ad2d0cdee3b617d",
      "87abda91a5274305b493028d82c72e22",
      "6ef4117d7a3045bbbab01f71b6d9c828",
      "0312233d069f47c689d98e7e0fa7da5b",
      "94d281a28c64465294758a200817ada1",
      "6efb43f11ea045038eade7ea773cdd8e",
      "3bc9f26eda0e4f818e6f23df31195c5e",
      "b2bb7e0af2d442a3974e8471c1765d54",
      "474dde96127645e38017b38b11a78a01",
      "78b34247c0ec43a6acf54a0fc913dae3",
      "b318510199794db1907adce0cdc007ce",
      "956e4999e48e4d30bc971154d70c1ead",
      "683160f1e0ca40599b35d8ba784bc10a",
      "bdfb41f5379d4c12872ad647c51937e8",
      "549d665ac28c4d4bb3be5593c4653191",
      "819646ccaab2464d8688a31e4f345d96",
      "1199feec159e44c3a5ebdb582e687950",
      "173b837173314d86b948673d376f5c3c",
      "b0dec5996bcf42f3a9b798c07180513d",
      "b742e09a17024e9ea54cbe81bb328d8c",
      "f3e5aeafad9b470bbb54880644519aa8",
      "e6024d09af914986bec1834c773f1627",
      "fd7a02cc1f884940bb98c5bed786d5a1",
      "55bf13ec08794f5c821fe62b1104c89b",
      "425ebec3c1ca4393ab7bb6f45b694d82",
      "9c6d6ecd27ec456f8fe894c8ab31fab1",
      "a14c32c2257e40c7ab724e3de4a0e954",
      "c1e1ac7befd34eefb7463d85ded81796",
      "03ad8540620b4a0b977503df9550e03e",
      "4d7be10c64b94c98965305f696f9398a",
      "852f2146db4743888460097cec7bf938",
      "779a96631812433ab007fcc32bda72a3",
      "6a6de690242042c788e7bf4e93cbc256",
      "767ff3484a4d45db9c32932a892521a5",
      "38a531c0e0454085b6a8bad2b6fe162b",
      "5946f069abe14153a0929aafca9bbdfc"
     ]
    },
    "id": "f7124830-dba9-4609-aedb-f81f4e388fa4",
    "outputId": "6cc82529-a1db-4a23-9514-2fc4b5a6c2f3"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "device: cuda\n"
     ]
    },
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "/usr/local/lib/python3.10/dist-packages/huggingface_hub/utils/_token.py:89: UserWarning: \n",
      "The secret `HF_TOKEN` does not exist in your Colab secrets.\n",
      "To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.\n",
      "You will be able to reuse this secret in all of your notebooks.\n",
      "Please note that authentication is recommended but still optional to access public models or datasets.\n",
      "  warnings.warn(\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "modules.json:   0%|          | 0.00/349 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "8ae8db517ad14268a8f7864a01b8191c"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "config_sentence_transformers.json:   0%|          | 0.00/124 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "fc64c338a9234e2b95f2eb7193a8e976"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "README.md:   0%|          | 0.00/30.4k [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "a9798a3378554f408c7bd016abcb1d26"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "sentence_bert_config.json:   0%|          | 0.00/52.0 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "4bf9408046b24e70bcbc434ce81f1586"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "config.json:   0%|          | 0.00/1.00k [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "05ddafa8e53b4323a3b87773d8c52d7b"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "pytorch_model.bin:   0%|          | 0.00/1.30G [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "d1c23ba161fe48deb887bef9a696e98c"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "tokenizer_config.json:   0%|          | 0.00/394 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "d4250feb91a547b8ba55a716ed72bc41"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "vocab.txt:   0%|          | 0.00/110k [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "4e2cca81afd544b5af33bad236a574cc"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "tokenizer.json:   0%|          | 0.00/439k [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "0312233d069f47c689d98e7e0fa7da5b"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "special_tokens_map.json:   0%|          | 0.00/125 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "549d665ac28c4d4bb3be5593c4653191"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "1_Pooling/config.json:   0%|          | 0.00/191 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "9c6d6ecd27ec456f8fe894c8ab31fab1"
      }
     },
     "metadata": {}
    }
   ],
   "source": [
    "from langchain.embeddings import HuggingFaceBgeEmbeddings\n",
    "import torch\n",
    "\n",
    "device = 'cuda' if torch.cuda.is_available() else 'cpu'\n",
    "print(f'device: {device}')\n",
    "\n",
    "embeddings = HuggingFaceBgeEmbeddings(\n",
    "    model_name=EMBEDDING_MODEL_PATH,\n",
    "    model_kwargs={'device': device},\n",
    "    encode_kwargs={'normalize_embeddings': True}\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "663ef1a4-5866-4f6b-8d9d-4724f62142cb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:07.755864Z",
     "iopub.status.busy": "2024-07-21T13:22:07.755656Z",
     "iopub.status.idle": "2024-07-21T13:22:07.758822Z",
     "shell.execute_reply": "2024-07-21T13:22:07.758495Z",
     "shell.execute_reply.started": "2024-07-21T13:22:07.755850Z"
    },
    "id": "663ef1a4-5866-4f6b-8d9d-4724f62142cb"
   },
   "outputs": [],
   "source": [
    "from tqdm.auto import tqdm\n",
    "\n",
    "def get_vector_db(docs, store_path, force_rebuild=False):\n",
    "    if not os.path.exists(store_path):\n",
    "        force_rebuild = True\n",
    "\n",
    "    if force_rebuild:\n",
    "        vector_db = Chroma.from_documents(\n",
    "            docs,\n",
    "            embedding=embeddings,\n",
    "            persist_directory=store_path\n",
    "        )\n",
    "    else:\n",
    "        vector_db = Chroma(\n",
    "            persist_directory=store_path,\n",
    "            embedding_function=embeddings\n",
    "        )\n",
    "    return vector_db"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "41821b04-afc4-4a9b-98d2-f95f7bf83f74",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:07.773482Z",
     "iopub.status.busy": "2024-07-21T13:22:07.773355Z",
     "iopub.status.idle": "2024-07-21T13:22:08.327108Z",
     "shell.execute_reply": "2024-07-21T13:22:08.326541Z",
     "shell.execute_reply.started": "2024-07-21T13:22:07.773470Z"
    },
    "id": "41821b04-afc4-4a9b-98d2-f95f7bf83f74"
   },
   "outputs": [],
   "source": [
    "vector_db = get_vector_db(splitted_docs, store_path=os.path.join(output_dir, 'chromadb', 'bge_large_v1.5'))"
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "# 检索"
   ],
   "metadata": {
    "id": "CKF0J7duLRMw"
   },
   "id": "CKF0J7duLRMw"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f9ba0818-d608-4e87-aa9e-aced270a113c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:07.759389Z",
     "iopub.status.busy": "2024-07-21T13:22:07.759238Z",
     "iopub.status.idle": "2024-07-21T13:22:07.772903Z",
     "shell.execute_reply": "2024-07-21T13:22:07.772468Z",
     "shell.execute_reply.started": "2024-07-21T13:22:07.759377Z"
    },
    "id": "f9ba0818-d608-4e87-aa9e-aced270a113c"
   },
   "outputs": [],
   "source": [
    "def retrieve(vector_db, query: str, k=5):\n",
    "    return vector_db.similarity_search(query, k=k)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "566c6f3c-5777-4aa9-bc60-a3ee23050506",
   "metadata": {
    "id": "566c6f3c-5777-4aa9-bc60-a3ee23050506"
   },
   "source": [
    "## 计算检索准确率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b03e3382-39e9-4932-a265-69b811041629",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:08.327815Z",
     "iopub.status.busy": "2024-07-21T13:22:08.327571Z",
     "iopub.status.idle": "2024-07-21T13:22:08.330973Z",
     "shell.execute_reply": "2024-07-21T13:22:08.330592Z",
     "shell.execute_reply.started": "2024-07-21T13:22:08.327802Z"
    },
    "id": "b03e3382-39e9-4932-a265-69b811041629"
   },
   "outputs": [],
   "source": [
    "test_df = qa_df[(qa_df['dataset'] == 'test') & (qa_df['qa_type'] == 'detailed')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ad650ce-43c4-4bbc-b4b3-809a5269b545",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:08.332774Z",
     "iopub.status.busy": "2024-07-21T13:22:08.332444Z",
     "iopub.status.idle": "2024-07-21T13:22:08.344726Z",
     "shell.execute_reply": "2024-07-21T13:22:08.344334Z",
     "shell.execute_reply.started": "2024-07-21T13:22:08.332758Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "3ad650ce-43c4-4bbc-b4b3-809a5269b545",
    "outputId": "93832afb-ae63-4b3d-d5fe-bbab4bb7b264"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "93"
      ]
     },
     "metadata": {},
     "execution_count": 17
    }
   ],
   "source": [
    "len(test_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "32c3ad14-b217-44aa-bdb9-909b9d559668",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:08.345367Z",
     "iopub.status.busy": "2024-07-21T13:22:08.345209Z",
     "iopub.status.idle": "2024-07-21T13:22:11.554954Z",
     "shell.execute_reply": "2024-07-21T13:22:11.554519Z",
     "shell.execute_reply.started": "2024-07-21T13:22:08.345352Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 49,
     "referenced_widgets": [
      "14963d0f85154fbf9ab49ef84840f921",
      "0bbf9d684d77494794eb50139323f82b",
      "25d2069884884c5d9b145cbbc6d454f2",
      "85b79c6c8ebb440eb8ff423dbc75c183",
      "6da130e16c28435d983f5b817c406265",
      "b94356d13b624b87afe94eae90c8bb73",
      "ade929269f854be2bed144b486671d6c",
      "8dba47c2b2dc41cda3afc4918321f605",
      "cf393ed116a248e9a924daa4ff24da64",
      "608807c98d464ba987fe6c08e6e8958c",
      "51ae5239814d484386f1f776b24b1c6a"
     ]
    },
    "id": "32c3ad14-b217-44aa-bdb9-909b9d559668",
    "outputId": "c152f51e-4faa-42ef-ba26-ce03b9ffa261"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/93 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "14963d0f85154fbf9ab49ef84840f921"
      }
     },
     "metadata": {}
    }
   ],
   "source": [
    "top_k_arr = list(range(1, 9))\n",
    "hit_stat_data = []\n",
    "\n",
    "for idx, row in tqdm(test_df.iterrows(), total=len(test_df)):\n",
    "    question = row['question']\n",
    "    true_uuid = row['uuid']\n",
    "    chunks = retrieve(vector_db, question, k=max(top_k_arr))\n",
    "    retrieved_uuids = [doc.metadata['uuid'] for doc in chunks]\n",
    "\n",
    "    for k in top_k_arr:\n",
    "        hit_stat_data.append({\n",
    "            'question': question,\n",
    "            'top_k': k,\n",
    "            'hit': int(true_uuid in retrieved_uuids[:k])\n",
    "        })"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dcaa74a3-3873-4c9e-ae8a-47f4e940b724",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:11.555548Z",
     "iopub.status.busy": "2024-07-21T13:22:11.555422Z",
     "iopub.status.idle": "2024-07-21T13:22:11.558235Z",
     "shell.execute_reply": "2024-07-21T13:22:11.557931Z",
     "shell.execute_reply.started": "2024-07-21T13:22:11.555535Z"
    },
    "id": "dcaa74a3-3873-4c9e-ae8a-47f4e940b724"
   },
   "outputs": [],
   "source": [
    "hit_stat_df = pd.DataFrame(hit_stat_data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f85cef68-c3ef-49d0-b9ff-9009953d5685",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:11.558967Z",
     "iopub.status.busy": "2024-07-21T13:22:11.558707Z",
     "iopub.status.idle": "2024-07-21T13:22:11.574837Z",
     "shell.execute_reply": "2024-07-21T13:22:11.574379Z",
     "shell.execute_reply.started": "2024-07-21T13:22:11.558955Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 206
    },
    "id": "f85cef68-c3ef-49d0-b9ff-9009953d5685",
    "outputId": "47fd9b04-2653-46ad-fa7a-e55b400f4ade"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "                      question  top_k  hit\n",
       "340     2023年10月欧元区经济景气指数是多少点?      5    0\n",
       "450       欧洲央行在3月16日的利率是多少百分比?      3    1\n",
       "743  商业房地产贷款在中小型银行资产中的占比大约是多少？      8    1\n",
       "88               全球经济复苏呈现什么特点？      1    0\n",
       "367      2023年9月南非的CPI同比上涨了多少？      8    1"
      ],
      "text/html": [
       "\n",
       "  <div id=\"df-82115431-62f1-4cdc-8a00-182192318203\" class=\"colab-df-container\">\n",
       "    <div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>question</th>\n",
       "      <th>top_k</th>\n",
       "      <th>hit</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>340</th>\n",
       "      <td>2023年10月欧元区经济景气指数是多少点?</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>450</th>\n",
       "      <td>欧洲央行在3月16日的利率是多少百分比?</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>743</th>\n",
       "      <td>商业房地产贷款在中小型银行资产中的占比大约是多少？</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>88</th>\n",
       "      <td>全球经济复苏呈现什么特点？</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>367</th>\n",
       "      <td>2023年9月南非的CPI同比上涨了多少？</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>\n",
       "    <div class=\"colab-df-buttons\">\n",
       "\n",
       "  <div class=\"colab-df-container\">\n",
       "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-82115431-62f1-4cdc-8a00-182192318203')\"\n",
       "            title=\"Convert this dataframe to an interactive table.\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
       "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
       "  </svg>\n",
       "    </button>\n",
       "\n",
       "  <style>\n",
       "    .colab-df-container {\n",
       "      display:flex;\n",
       "      gap: 12px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert {\n",
       "      background-color: #E8F0FE;\n",
       "      border: none;\n",
       "      border-radius: 50%;\n",
       "      cursor: pointer;\n",
       "      display: none;\n",
       "      fill: #1967D2;\n",
       "      height: 32px;\n",
       "      padding: 0 0 0 0;\n",
       "      width: 32px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert:hover {\n",
       "      background-color: #E2EBFA;\n",
       "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "      fill: #174EA6;\n",
       "    }\n",
       "\n",
       "    .colab-df-buttons div {\n",
       "      margin-bottom: 4px;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert {\n",
       "      background-color: #3B4455;\n",
       "      fill: #D2E3FC;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert:hover {\n",
       "      background-color: #434B5C;\n",
       "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
       "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
       "      fill: #FFFFFF;\n",
       "    }\n",
       "  </style>\n",
       "\n",
       "    <script>\n",
       "      const buttonEl =\n",
       "        document.querySelector('#df-82115431-62f1-4cdc-8a00-182192318203 button.colab-df-convert');\n",
       "      buttonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "\n",
       "      async function convertToInteractive(key) {\n",
       "        const element = document.querySelector('#df-82115431-62f1-4cdc-8a00-182192318203');\n",
       "        const dataTable =\n",
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       "                                                    [key], {});\n",
       "        if (!dataTable) return;\n",
       "\n",
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       "        await google.colab.output.renderOutput(dataTable, element);\n",
       "        const docLink = document.createElement('div');\n",
       "        docLink.innerHTML = docLinkHtml;\n",
       "        element.appendChild(docLink);\n",
       "      }\n",
       "    </script>\n",
       "  </div>\n",
       "\n",
       "\n",
       "<div id=\"df-58f74e18-6125-4608-b74a-672fa90e6365\">\n",
       "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-58f74e18-6125-4608-b74a-672fa90e6365')\"\n",
       "            title=\"Suggest charts\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
       "     width=\"24px\">\n",
       "    <g>\n",
       "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
       "    </g>\n",
       "</svg>\n",
       "  </button>\n",
       "\n",
       "<style>\n",
       "  .colab-df-quickchart {\n",
       "      --bg-color: #E8F0FE;\n",
       "      --fill-color: #1967D2;\n",
       "      --hover-bg-color: #E2EBFA;\n",
       "      --hover-fill-color: #174EA6;\n",
       "      --disabled-fill-color: #AAA;\n",
       "      --disabled-bg-color: #DDD;\n",
       "  }\n",
       "\n",
       "  [theme=dark] .colab-df-quickchart {\n",
       "      --bg-color: #3B4455;\n",
       "      --fill-color: #D2E3FC;\n",
       "      --hover-bg-color: #434B5C;\n",
       "      --hover-fill-color: #FFFFFF;\n",
       "      --disabled-bg-color: #3B4455;\n",
       "      --disabled-fill-color: #666;\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart {\n",
       "    background-color: var(--bg-color);\n",
       "    border: none;\n",
       "    border-radius: 50%;\n",
       "    cursor: pointer;\n",
       "    display: none;\n",
       "    fill: var(--fill-color);\n",
       "    height: 32px;\n",
       "    padding: 0;\n",
       "    width: 32px;\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart:hover {\n",
       "    background-color: var(--hover-bg-color);\n",
       "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "    fill: var(--button-hover-fill-color);\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart-complete:disabled,\n",
       "  .colab-df-quickchart-complete:disabled:hover {\n",
       "    background-color: var(--disabled-bg-color);\n",
       "    fill: var(--disabled-fill-color);\n",
       "    box-shadow: none;\n",
       "  }\n",
       "\n",
       "  .colab-df-spinner {\n",
       "    border: 2px solid var(--fill-color);\n",
       "    border-color: transparent;\n",
       "    border-bottom-color: var(--fill-color);\n",
       "    animation:\n",
       "      spin 1s steps(1) infinite;\n",
       "  }\n",
       "\n",
       "  @keyframes spin {\n",
       "    0% {\n",
       "      border-color: transparent;\n",
       "      border-bottom-color: var(--fill-color);\n",
       "      border-left-color: var(--fill-color);\n",
       "    }\n",
       "    20% {\n",
       "      border-color: transparent;\n",
       "      border-left-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "    }\n",
       "    30% {\n",
       "      border-color: transparent;\n",
       "      border-left-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "      border-right-color: var(--fill-color);\n",
       "    }\n",
       "    40% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "    }\n",
       "    60% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "    }\n",
       "    80% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "      border-bottom-color: var(--fill-color);\n",
       "    }\n",
       "    90% {\n",
       "      border-color: transparent;\n",
       "      border-bottom-color: var(--fill-color);\n",
       "    }\n",
       "  }\n",
       "</style>\n",
       "\n",
       "  <script>\n",
       "    async function quickchart(key) {\n",
       "      const quickchartButtonEl =\n",
       "        document.querySelector('#' + key + ' button');\n",
       "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       "      try {\n",
       "        const charts = await google.colab.kernel.invokeFunction(\n",
       "            'suggestCharts', [key], {});\n",
       "      } catch (error) {\n",
       "        console.error('Error during call to suggestCharts:', error);\n",
       "      }\n",
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       "    }\n",
       "    (() => {\n",
       "      let quickchartButtonEl =\n",
       "        document.querySelector('#df-58f74e18-6125-4608-b74a-672fa90e6365 button');\n",
       "      quickchartButtonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "    })();\n",
       "  </script>\n",
       "</div>\n",
       "\n",
       "    </div>\n",
       "  </div>\n"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "dataframe",
       "summary": "{\n  \"name\": \"hit_stat_df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"question\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"\\u6b27\\u6d32\\u592e\\u884c\\u57283\\u670816\\u65e5\\u7684\\u5229\\u7387\\u662f\\u591a\\u5c11\\u767e\\u5206\\u6bd4?\",\n          \"2023\\u5e749\\u6708\\u5357\\u975e\\u7684CPI\\u540c\\u6bd4\\u4e0a\\u6da8\\u4e86\\u591a\\u5c11\\uff1f\",\n          \"\\u5546\\u4e1a\\u623f\\u5730\\u4ea7\\u8d37\\u6b3e\\u5728\\u4e2d\\u5c0f\\u578b\\u94f6\\u884c\\u8d44\\u4ea7\\u4e2d\\u7684\\u5360\\u6bd4\\u5927\\u7ea6\\u662f\\u591a\\u5c11\\uff1f\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"top_k\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 3,\n        \"min\": 1,\n        \"max\": 8,\n        \"num_unique_values\": 4,\n        \"samples\": [\n          3,\n          1,\n          5\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"hit\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0,\n        \"min\": 0,\n        \"max\": 1,\n        \"num_unique_values\": 2,\n        \"samples\": [\n          1,\n          0\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
      }
     },
     "metadata": {},
     "execution_count": 20
    }
   ],
   "source": [
    "hit_stat_df.sample(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "48438b40-6e03-4459-81ce-31a41867bad8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:11.575377Z",
     "iopub.status.busy": "2024-07-21T13:22:11.575255Z",
     "iopub.status.idle": "2024-07-21T13:22:11.920473Z",
     "shell.execute_reply": "2024-07-21T13:22:11.919973Z",
     "shell.execute_reply.started": "2024-07-21T13:22:11.575364Z"
    },
    "id": "48438b40-6e03-4459-81ce-31a41867bad8"
   },
   "outputs": [],
   "source": [
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a63797c7-4151-4f55-8e5d-080c34265393",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:11.921495Z",
     "iopub.status.busy": "2024-07-21T13:22:11.920978Z",
     "iopub.status.idle": "2024-07-21T13:22:11.927266Z",
     "shell.execute_reply": "2024-07-21T13:22:11.926849Z",
     "shell.execute_reply.started": "2024-07-21T13:22:11.921481Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 300
    },
    "id": "a63797c7-4151-4f55-8e5d-080c34265393",
    "outputId": "7687dcf9-54ac-4ed8-f2ba-b15cd9198aef"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "   top_k       hit\n",
       "0      1  0.462366\n",
       "1      2  0.591398\n",
       "2      3  0.688172\n",
       "3      4  0.774194\n",
       "4      5  0.806452\n",
       "5      6  0.817204\n",
       "6      7  0.838710\n",
       "7      8  0.849462"
      ],
      "text/html": [
       "\n",
       "  <div id=\"df-23b6378b-f5da-4bd4-9560-224151edc8b1\" class=\"colab-df-container\">\n",
       "    <div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>top_k</th>\n",
       "      <th>hit</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0.462366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>0.591398</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>0.688172</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>0.774194</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0.806452</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>0.817204</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>0.838710</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>0.849462</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>\n",
       "    <div class=\"colab-df-buttons\">\n",
       "\n",
       "  <div class=\"colab-df-container\">\n",
       "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-23b6378b-f5da-4bd4-9560-224151edc8b1')\"\n",
       "            title=\"Convert this dataframe to an interactive table.\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
       "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
       "  </svg>\n",
       "    </button>\n",
       "\n",
       "  <style>\n",
       "    .colab-df-container {\n",
       "      display:flex;\n",
       "      gap: 12px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert {\n",
       "      background-color: #E8F0FE;\n",
       "      border: none;\n",
       "      border-radius: 50%;\n",
       "      cursor: pointer;\n",
       "      display: none;\n",
       "      fill: #1967D2;\n",
       "      height: 32px;\n",
       "      padding: 0 0 0 0;\n",
       "      width: 32px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert:hover {\n",
       "      background-color: #E2EBFA;\n",
       "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "      fill: #174EA6;\n",
       "    }\n",
       "\n",
       "    .colab-df-buttons div {\n",
       "      margin-bottom: 4px;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert {\n",
       "      background-color: #3B4455;\n",
       "      fill: #D2E3FC;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert:hover {\n",
       "      background-color: #434B5C;\n",
       "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
       "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
       "      fill: #FFFFFF;\n",
       "    }\n",
       "  </style>\n",
       "\n",
       "    <script>\n",
       "      const buttonEl =\n",
       "        document.querySelector('#df-23b6378b-f5da-4bd4-9560-224151edc8b1 button.colab-df-convert');\n",
       "      buttonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "\n",
       "      async function convertToInteractive(key) {\n",
       "        const element = document.querySelector('#df-23b6378b-f5da-4bd4-9560-224151edc8b1');\n",
       "        const dataTable =\n",
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       "                                                    [key], {});\n",
       "        if (!dataTable) return;\n",
       "\n",
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       "        await google.colab.output.renderOutput(dataTable, element);\n",
       "        const docLink = document.createElement('div');\n",
       "        docLink.innerHTML = docLinkHtml;\n",
       "        element.appendChild(docLink);\n",
       "      }\n",
       "    </script>\n",
       "  </div>\n",
       "\n",
       "\n",
       "<div id=\"df-a826a0c6-c750-4873-9bec-34d087fa706e\">\n",
       "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-a826a0c6-c750-4873-9bec-34d087fa706e')\"\n",
       "            title=\"Suggest charts\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
       "     width=\"24px\">\n",
       "    <g>\n",
       "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
       "    </g>\n",
       "</svg>\n",
       "  </button>\n",
       "\n",
       "<style>\n",
       "  .colab-df-quickchart {\n",
       "      --bg-color: #E8F0FE;\n",
       "      --fill-color: #1967D2;\n",
       "      --hover-bg-color: #E2EBFA;\n",
       "      --hover-fill-color: #174EA6;\n",
       "      --disabled-fill-color: #AAA;\n",
       "      --disabled-bg-color: #DDD;\n",
       "  }\n",
       "\n",
       "  [theme=dark] .colab-df-quickchart {\n",
       "      --bg-color: #3B4455;\n",
       "      --fill-color: #D2E3FC;\n",
       "      --hover-bg-color: #434B5C;\n",
       "      --hover-fill-color: #FFFFFF;\n",
       "      --disabled-bg-color: #3B4455;\n",
       "      --disabled-fill-color: #666;\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart {\n",
       "    background-color: var(--bg-color);\n",
       "    border: none;\n",
       "    border-radius: 50%;\n",
       "    cursor: pointer;\n",
       "    display: none;\n",
       "    fill: var(--fill-color);\n",
       "    height: 32px;\n",
       "    padding: 0;\n",
       "    width: 32px;\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart:hover {\n",
       "    background-color: var(--hover-bg-color);\n",
       "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "    fill: var(--button-hover-fill-color);\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart-complete:disabled,\n",
       "  .colab-df-quickchart-complete:disabled:hover {\n",
       "    background-color: var(--disabled-bg-color);\n",
       "    fill: var(--disabled-fill-color);\n",
       "    box-shadow: none;\n",
       "  }\n",
       "\n",
       "  .colab-df-spinner {\n",
       "    border: 2px solid var(--fill-color);\n",
       "    border-color: transparent;\n",
       "    border-bottom-color: var(--fill-color);\n",
       "    animation:\n",
       "      spin 1s steps(1) infinite;\n",
       "  }\n",
       "\n",
       "  @keyframes spin {\n",
       "    0% {\n",
       "      border-color: transparent;\n",
       "      border-bottom-color: var(--fill-color);\n",
       "      border-left-color: var(--fill-color);\n",
       "    }\n",
       "    20% {\n",
       "      border-color: transparent;\n",
       "      border-left-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "    }\n",
       "    30% {\n",
       "      border-color: transparent;\n",
       "      border-left-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "      border-right-color: var(--fill-color);\n",
       "    }\n",
       "    40% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "    }\n",
       "    60% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "    }\n",
       "    80% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "      border-bottom-color: var(--fill-color);\n",
       "    }\n",
       "    90% {\n",
       "      border-color: transparent;\n",
       "      border-bottom-color: var(--fill-color);\n",
       "    }\n",
       "  }\n",
       "</style>\n",
       "\n",
       "  <script>\n",
       "    async function quickchart(key) {\n",
       "      const quickchartButtonEl =\n",
       "        document.querySelector('#' + key + ' button');\n",
       "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       "      try {\n",
       "        const charts = await google.colab.kernel.invokeFunction(\n",
       "            'suggestCharts', [key], {});\n",
       "      } catch (error) {\n",
       "        console.error('Error during call to suggestCharts:', error);\n",
       "      }\n",
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       "    }\n",
       "    (() => {\n",
       "      let quickchartButtonEl =\n",
       "        document.querySelector('#df-a826a0c6-c750-4873-9bec-34d087fa706e button');\n",
       "      quickchartButtonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "    })();\n",
       "  </script>\n",
       "</div>\n",
       "\n",
       "    </div>\n",
       "  </div>\n"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "dataframe",
       "summary": "{\n  \"name\": \"hit_stat_df\",\n  \"rows\": 8,\n  \"fields\": [\n    {\n      \"column\": \"top_k\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 2,\n        \"min\": 1,\n        \"max\": 8,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          2,\n          6,\n          1\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"hit\",\n      \"properties\": {\n        \"dtype\": \"number\",\n        \"std\": 0.13838958530269438,\n        \"min\": 0.46236559139784944,\n        \"max\": 0.8494623655913979,\n        \"num_unique_values\": 8,\n        \"samples\": [\n          0.5913978494623656,\n          0.8172043010752689,\n          0.46236559139784944\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
      }
     },
     "metadata": {},
     "execution_count": 22
    }
   ],
   "source": [
    "hit_stat_df.groupby('top_k')['hit'].mean().reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b0b086d1-6cec-4743-8df6-2ab3b1593689",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T13:22:11.929189Z",
     "iopub.status.busy": "2024-07-21T13:22:11.929035Z",
     "iopub.status.idle": "2024-07-21T13:22:12.047934Z",
     "shell.execute_reply": "2024-07-21T13:22:12.047474Z",
     "shell.execute_reply.started": "2024-07-21T13:22:11.929177Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 468
    },
    "id": "b0b086d1-6cec-4743-8df6-2ab3b1593689",
    "outputId": "add763c5-3aee-4724-c9ce-8ffc51994a5e"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "<Axes: xlabel='top_k', ylabel='hit'>"
      ]
     },
     "metadata": {},
     "execution_count": 23
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGxCAYAAACeKZf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAoQElEQVR4nO3df3DU9Z3H8ddmIQkRCGJIAjGSAgoEgdDEpIFauBrNIcPJ/fCipSaumM5V1qI7MhDBpKgQrDaG0RwRJGK1FGwPf9yJ8ceewXLEBoO0UAWkConABjLWBKNu6u7eH07XbkkQMNnv5pPnY+Y7w37z+Wbf3zraJ9/97q4tEAgEBAAAYIgoqwcAAADoScQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMMsHqAcPP7/Tp27JiGDBkim81m9TgAAOAsBAIBnTp1SqNGjVJU1JmvzfS7uDl27JhSU1OtHgMAAJyH5uZmXXzxxWdc0+/iZsiQIZK+/B9n6NChFk8DAADORnt7u1JTU4P/P34m/S5u/vpS1NChQ4kbAAD6mLO5pYQbigEAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGGWA1QMAAICekbn4F1aP0CMaHyz8Rsdz5QYAABiFuAEAAEYhbgAAgFG45wYAYBzuPenfuHIDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMAof4gcABuPD7NAfceUGAAAYhbgBAABGsTxuqqqqlJaWptjYWOXk5KihoeGM6ysrKzV+/HgNGjRIqampuvPOO/X555+HaVoAABDpLL3nZsuWLXK5XKqurlZOTo4qKyuVn5+vAwcOKDEx8bT1mzZt0tKlS1VTU6Pp06fr4MGDuvnmm2Wz2VRRUWHBGQDoK7j3BOg/LL1yU1FRoeLiYjkcDqWnp6u6ulpxcXGqqanpcv3OnTs1Y8YM/eAHP1BaWpquueYa3XjjjV97tQcAAPQflsVNZ2enGhsblZeX99UwUVHKy8tTfX19l8dMnz5djY2NwZh5//33tW3bNl177bXdPo/X61V7e3vIBgAAzGXZy1Ktra3y+XxKSkoK2Z+UlKT9+/d3ecwPfvADtba26rvf/a4CgYC++OIL/cd//Ifuvvvubp+nvLxcK1as6NHZAQBA5LL8huJzUVdXp1WrVuk///M/tXv3bm3dulUvvvii7rvvvm6PKSkpUVtbW3Brbm4O48QAACDcLLtyk5CQILvdrpaWlpD9LS0tSk5O7vKYe+65RzfddJNuvfVWSdLkyZPV0dGhH/3oR1q2bJmiok5vtZiYGMXExPT8CQAAgIhk2ZWb6OhoZWZmyu12B/f5/X653W7l5uZ2ecynn356WsDY7XZJUiAQ6L1hAQBAn2HpW8FdLpeKioqUlZWl7OxsVVZWqqOjQw6HQ5JUWFiolJQUlZeXS5Lmzp2riooKTZs2TTk5OTp06JDuuecezZ07Nxg5AACgf7M0bgoKCnTy5EmVlpbK4/EoIyNDtbW1wZuMm5qaQq7ULF++XDabTcuXL9fRo0c1YsQIzZ07VytXrrTqFAAAQISx/IsznU6nnE5nlz+rq6sLeTxgwACVlZWprKwsDJMBAIC+qE+9WwoAAODrEDcAAMAoxA0AADAKcQMAAIxi+Q3FAMKLb8cGYDqu3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKNERNxUVVUpLS1NsbGxysnJUUNDQ7drZ82aJZvNdto2Z86cME4MAAAileVxs2XLFrlcLpWVlWn37t2aOnWq8vPzdeLEiS7Xb926VcePHw9u+/btk91u1/XXXx/myQEAQCSyPG4qKipUXFwsh8Oh9PR0VVdXKy4uTjU1NV2uHz58uJKTk4Pbq6++qri4OOIGAABIsjhuOjs71djYqLy8vOC+qKgo5eXlqb6+/qx+x4YNG3TDDTfoggsu6K0xAQBAHzLAyidvbW2Vz+dTUlJSyP6kpCTt37//a49vaGjQvn37tGHDhm7XeL1eeb3e4OP29vbzHxgAAEQ8y1+W+iY2bNigyZMnKzs7u9s15eXlio+PD26pqalhnBAAAISbpXGTkJAgu92ulpaWkP0tLS1KTk4+47EdHR3avHmzFixYcMZ1JSUlamtrC27Nzc3feG4AABC5LI2b6OhoZWZmyu12B/f5/X653W7l5uae8dhf//rX8nq9+uEPf3jGdTExMRo6dGjIBgAAzGXpPTeS5HK5VFRUpKysLGVnZ6uyslIdHR1yOBySpMLCQqWkpKi8vDzkuA0bNmjevHm66KKLrBgbAABEKMvjpqCgQCdPnlRpaak8Ho8yMjJUW1sbvMm4qalJUVGhF5gOHDigHTt26JVXXrFiZBgic/EvrB6hRzQ+WGj1CAAQUSyPG0lyOp1yOp1d/qyuru60fePHj1cgEOjlqQAAQF/Up98tBQAA8PeIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFMvjpqqqSmlpaYqNjVVOTo4aGhrOuP7jjz/WwoULNXLkSMXExOiyyy7Ttm3bwjQtAACIdAOsfPItW7bI5XKpurpaOTk5qqysVH5+vg4cOKDExMTT1nd2durqq69WYmKifvOb3yglJUVHjhzRsGHDwj88AACISJbGTUVFhYqLi+VwOCRJ1dXVevHFF1VTU6OlS5eetr6mpkYfffSRdu7cqYEDB0qS0tLSwjkyAACIcJa9LNXZ2anGxkbl5eV9NUxUlPLy8lRfX9/lMS+88IJyc3O1cOFCJSUl6fLLL9eqVavk8/nCNTYAAIhwll25aW1tlc/nU1JSUsj+pKQk7d+/v8tj3n//ff3v//6v5s+fr23btunQoUO67bbb9Je//EVlZWVdHuP1euX1eoOP29vbe+4kAABAxLH8huJz4ff7lZiYqHXr1ikzM1MFBQVatmyZqquruz2mvLxc8fHxwS01NTWMEwMAgHCzLG4SEhJkt9vV0tISsr+lpUXJycldHjNy5EhddtllstvtwX0TJ06Ux+NRZ2dnl8eUlJSora0tuDU3N/fcSQAAgIhjWdxER0crMzNTbrc7uM/v98vtdis3N7fLY2bMmKFDhw7J7/cH9x08eFAjR45UdHR0l8fExMRo6NChIRsAADCXpS9LuVwurV+/Xk8++aTeffdd/fjHP1ZHR0fw3VOFhYUqKSkJrv/xj3+sjz76SIsWLdLBgwf14osvatWqVVq4cKFVpwAAACKMpW8FLygo0MmTJ1VaWiqPx6OMjAzV1tYGbzJuampSVNRX/ZWamqqXX35Zd955p6ZMmaKUlBQtWrRIS5YsseoUjJC5+BdWj9AjGh8stHoEAEAEsDRuJMnpdMrpdHb5s7q6utP25ebm6s033+zlqQAAQF/Vp94tBQAA8HWIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYJSLipqqqSmlpaYqNjVVOTo4aGhq6Xbtx40bZbLaQLTY2NozTAgCASGZ53GzZskUul0tlZWXavXu3pk6dqvz8fJ04caLbY4YOHarjx48HtyNHjoRxYgAAEMksj5uKigoVFxfL4XAoPT1d1dXViouLU01NTbfH2Gw2JScnB7ekpKQwTgwAACKZpXHT2dmpxsZG5eXlBfdFRUUpLy9P9fX13R73ySefaPTo0UpNTdV1112nP/7xj92u9Xq9am9vD9kAAIC5LI2b1tZW+Xy+0668JCUlyePxdHnM+PHjVVNTo+eff15PP/20/H6/pk+frg8//LDL9eXl5YqPjw9uqampPX4eAAAgclj+stS5ys3NVWFhoTIyMjRz5kxt3bpVI0aM0GOPPdbl+pKSErW1tQW35ubmME8MAADCaYCVT56QkCC73a6WlpaQ/S0tLUpOTj6r3zFw4EBNmzZNhw4d6vLnMTExiomJ+cazAgCAvsHSKzfR0dHKzMyU2+0O7vP7/XK73crNzT2r3+Hz+bR3716NHDmyt8YEAAB9iKVXbiTJ5XKpqKhIWVlZys7OVmVlpTo6OuRwOCRJhYWFSklJUXl5uSTp3nvv1Xe+8x2NGzdOH3/8sR588EEdOXJEt956q5WnAQAAIoTlcVNQUKCTJ0+qtLRUHo9HGRkZqq2tDd5k3NTUpKiory4w/fnPf1ZxcbE8Ho8uvPBCZWZmaufOnUpPT7fqFAAAQASxPG4kyel0yul0dvmzurq6kMcPP/ywHn744TBMBQAA+qI+924pAACAMyFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEaJiE8ojhSZi39h9Qg9ovHBQqtHAADAMud15eb73/++Pv7449P2t7e36/vf//43nQkAAOC8nVfc1NXVqbOz87T9n3/+uX77299+46EAAADO1zm9LPWHP/wh+Od33nlHHo8n+Njn86m2tlYpKSk9Nx0AAMA5Oqe4ycjIkM1mk81m6/Llp0GDBumRRx7pseEAAADO1TnFzQcffKBAIKAxY8aooaFBI0aMCP4sOjpaiYmJstvtPT4kAADA2TqnuBk9erQkye/398owAAAA39RZx80LL7yg2bNna+DAgXrhhRfOuPaf/umfvvFgAAAA5+Os42bevHnyeDxKTEzUvHnzul1ns9nk8/l6YjYAAIBzdtZx87cvRfGyFAAAiFTn/QnFbrdbbrdbJ06cCIkdm82mDRs29MhwAAAA5+q84mbFihW69957lZWVpZEjR8pms/X0XAAAAOflvOKmurpaGzdu1E033dTT8wAAAHwj5/X1C52dnZo+fXpPzwIAAPCNnVfc3Hrrrdq0aVNPzwIAAPCNnfXLUi6XK/hnv9+vdevW6bXXXtOUKVM0cODAkLUVFRU9NyEAAMA5OOu4efvtt0MeZ2RkSJL27dsXsp+biwEAgJXOOm5ef/313pwDAACgR5zXPTcAAACRirgBAABGIW4AAIBRIiJuqqqqlJaWptjYWOXk5KihoeGsjtu8ebNsNtsZv8gTAAD0L5bHzZYtW+RyuVRWVqbdu3dr6tSpys/P14kTJ8543OHDh3XXXXfpyiuvDNOkAACgL7A8bioqKlRcXCyHw6H09HRVV1crLi5ONTU13R7j8/k0f/58rVixQmPGjAnjtAAAINJZGjednZ1qbGxUXl5ecF9UVJTy8vJUX1/f7XH33nuvEhMTtWDBgnCMCQAA+pDz+uLMntLa2iqfz6ekpKSQ/UlJSdq/f3+Xx+zYsUMbNmzQnj17zuo5vF6vvF5v8HF7e/t5zwsAACKf5S9LnYtTp07ppptu0vr165WQkHBWx5SXlys+Pj64paam9vKUAADASpZeuUlISJDdbldLS0vI/paWFiUnJ5+2/k9/+pMOHz6suXPnBvf5/X5J0oABA3TgwAGNHTs25JiSkpKQ78Vqb28ncAAAMJilcRMdHa3MzEy53e7g27n9fr/cbrecTudp6ydMmKC9e/eG7Fu+fLlOnTqlNWvWdBktMTExiomJ6ZX5AQBA5LE0bqQvv228qKhIWVlZys7OVmVlpTo6OuRwOCRJhYWFSklJUXl5uWJjY3X55ZeHHD9s2DBJOm0/AADonyyPm4KCAp08eVKlpaXyeDzKyMhQbW1t8CbjpqYmRUX1qVuDAACAhSyPG0lyOp1dvgwlSXV1dWc8duPGjT0/EAAA6LO4JAIAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKBERN1VVVUpLS1NsbKxycnLU0NDQ7dqtW7cqKytLw4YN0wUXXKCMjAw99dRTYZwWAABEMsvjZsuWLXK5XCorK9Pu3bs1depU5efn68SJE12uHz58uJYtW6b6+nr94Q9/kMPhkMPh0MsvvxzmyQEAQCSyPG4qKipUXFwsh8Oh9PR0VVdXKy4uTjU1NV2unzVrlv75n/9ZEydO1NixY7Vo0SJNmTJFO3bsCPPkAAAgElkaN52dnWpsbFReXl5wX1RUlPLy8lRfX/+1xwcCAbndbh04cEDf+973ulzj9XrV3t4esgEAAHNZGjetra3y+XxKSkoK2Z+UlCSPx9PtcW1tbRo8eLCio6M1Z84cPfLII7r66qu7XFteXq74+Pjglpqa2qPnAAAAIovlL0udjyFDhmjPnj3atWuXVq5cKZfLpbq6ui7XlpSUqK2tLbg1NzeHd1gAABBWA6x88oSEBNntdrW0tITsb2lpUXJycrfHRUVFady4cZKkjIwMvfvuuyovL9esWbNOWxsTE6OYmJgenRsAAEQuS6/cREdHKzMzU263O7jP7/fL7XYrNzf3rH+P3++X1+vtjREBAEAfY+mVG0lyuVwqKipSVlaWsrOzVVlZqY6ODjkcDklSYWGhUlJSVF5eLunLe2iysrI0duxYeb1ebdu2TU899ZTWrl1r5WkAAIAIYXncFBQU6OTJkyotLZXH41FGRoZqa2uDNxk3NTUpKuqrC0wdHR267bbb9OGHH2rQoEGaMGGCnn76aRUUFFh1CgAAIIJYHjeS5HQ65XQ6u/zZ398ofP/99+v+++8Pw1QAAKAv6pPvlgIAAOgOcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjBIRcVNVVaW0tDTFxsYqJydHDQ0N3a5dv369rrzySl144YW68MILlZeXd8b1AACgf7E8brZs2SKXy6WysjLt3r1bU6dOVX5+vk6cONHl+rq6Ot144416/fXXVV9fr9TUVF1zzTU6evRomCcHAACRyPK4qaioUHFxsRwOh9LT01VdXa24uDjV1NR0uf6Xv/ylbrvtNmVkZGjChAl6/PHH5ff75Xa7wzw5AACIRJbGTWdnpxobG5WXlxfcFxUVpby8PNXX15/V7/j000/1l7/8RcOHD++tMQEAQB8ywMonb21tlc/nU1JSUsj+pKQk7d+//6x+x5IlSzRq1KiQQPpbXq9XXq83+Li9vf38BwYAABHP8pelvonVq1dr8+bNevbZZxUbG9vlmvLycsXHxwe31NTUME8JAADCydK4SUhIkN1uV0tLS8j+lpYWJScnn/HYhx56SKtXr9Yrr7yiKVOmdLuupKREbW1twa25ublHZgcAAJHJ0riJjo5WZmZmyM3Af705ODc3t9vjfvazn+m+++5TbW2tsrKyzvgcMTExGjp0aMgGAADMZek9N5LkcrlUVFSkrKwsZWdnq7KyUh0dHXI4HJKkwsJCpaSkqLy8XJL0wAMPqLS0VJs2bVJaWpo8Ho8kafDgwRo8eLBl5wEAACKD5XFTUFCgkydPqrS0VB6PRxkZGaqtrQ3eZNzU1KSoqK8uMK1du1adnZ36t3/7t5DfU1ZWpp/+9KfhHB0AAEQgy+NGkpxOp5xOZ5c/q6urC3l8+PDh3h8IAAD0WX363VIAAAB/j7gBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwAAYBTiBgAAGIW4AQAARiFuAACAUYgbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFEsj5uqqiqlpaUpNjZWOTk5amho6HbtH//4R/3rv/6r0tLSZLPZVFlZGb5BAQBAn2Bp3GzZskUul0tlZWXavXu3pk6dqvz8fJ04caLL9Z9++qnGjBmj1atXKzk5OczTAgCAvsDSuKmoqFBxcbEcDofS09NVXV2tuLg41dTUdLn+iiuu0IMPPqgbbrhBMTExYZ4WAAD0BZbFTWdnpxobG5WXl/fVMFFRysvLU319fY89j9frVXt7e8gGAADMZVnctLa2yufzKSkpKWR/UlKSPB5Pjz1PeXm54uPjg1tqamqP/W4AABB5LL+huLeVlJSora0tuDU3N1s9EgAA6EUDrHrihIQE2e12tbS0hOxvaWnp0ZuFY2JiuD8HAIB+xLIrN9HR0crMzJTb7Q7u8/v9crvdys3NtWosAADQx1l25UaSXC6XioqKlJWVpezsbFVWVqqjo0MOh0OSVFhYqJSUFJWXl0v68ibkd955J/jno0ePas+ePRo8eLDGjRtn2XkAAIDIYWncFBQU6OTJkyotLZXH41FGRoZqa2uDNxk3NTUpKuqri0vHjh3TtGnTgo8feughPfTQQ5o5c6bq6urCPT4AAIhAlsaNJDmdTjmdzi5/9vfBkpaWpkAgEIapAABAX2X8u6UAAED/QtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIxC3AAAAKNERNxUVVUpLS1NsbGxysnJUUNDwxnX//rXv9aECRMUGxuryZMna9u2bWGaFAAARDrL42bLli1yuVwqKyvT7t27NXXqVOXn5+vEiRNdrt+5c6duvPFGLViwQG+//bbmzZunefPmad++fWGeHAAARCLL46aiokLFxcVyOBxKT09XdXW14uLiVFNT0+X6NWvW6B//8R+1ePFiTZw4Uffdd5++/e1v69FHHw3z5AAAIBJZGjednZ1qbGxUXl5ecF9UVJTy8vJUX1/f5TH19fUh6yUpPz+/2/UAAKB/GWDlk7e2tsrn8ykpKSlkf1JSkvbv39/lMR6Pp8v1Ho+ny/Ver1derzf4uK2tTZLU3t5+2lqf97Nzmj9SdXVuZ8J5922c99nhvPs2zvvsmHzef90XCAS+/hcELHT06NGApMDOnTtD9i9evDiQnZ3d5TEDBw4MbNq0KWRfVVVVIDExscv1ZWVlAUlsbGxsbGxsBmzNzc1f2xeWXrlJSEiQ3W5XS0tLyP6WlhYlJyd3eUxycvI5rS8pKZHL5Qo+9vv9+uijj3TRRRfJZrN9wzM4N+3t7UpNTVVzc7OGDh0a1ue2EufNefcHnDfn3R9Yed6BQECnTp3SqFGjvnatpXETHR2tzMxMud1uzZs3T9KX8eF2u+V0Ors8Jjc3V263W3fccUdw36uvvqrc3Nwu18fExCgmJiZk37Bhw3pi/PM2dOjQfvUvw19x3v0L592/cN79i1XnHR8ff1brLI0bSXK5XCoqKlJWVpays7NVWVmpjo4OORwOSVJhYaFSUlJUXl4uSVq0aJFmzpypn//855ozZ442b96st956S+vWrbPyNAAAQISwPG4KCgp08uRJlZaWyuPxKCMjQ7W1tcGbhpuamhQV9dWbuqZPn65NmzZp+fLluvvuu3XppZfqueee0+WXX27VKQAAgAhiedxIktPp7PZlqLq6utP2XX/99br++ut7eaqeFxMTo7KystNeJjMd58159wecN+fdH/SV87YFAmfznioAAIC+wfJPKAYAAOhJxA0AADAKcQMAAIxC3ITBG2+8oblz52rUqFGy2Wx67rnnrB4pLMrLy3XFFVdoyJAhSkxM1Lx583TgwAGrx+p1a9eu1ZQpU4KfA5Gbm6uXXnrJ6rHCbvXq1bLZbCGfSWWin/70p7LZbCHbhAkTrB4rLI4ePaof/vCHuuiiizRo0CBNnjxZb731ltVj9aq0tLTT/nnbbDYtXLjQ6tF6lc/n0z333KNvfetbGjRokMaOHav77rvv7L4KwQIR8W4p03V0dGjq1Km65ZZb9C//8i9WjxM227dv18KFC3XFFVfoiy++0N13361rrrlG77zzji644AKrx+s1F198sVavXq1LL71UgUBATz75pK677jq9/fbbmjRpktXjhcWuXbv02GOPacqUKVaPEhaTJk3Sa6+9Fnw8YID5/2n985//rBkzZugf/uEf9NJLL2nEiBF67733dOGFF1o9Wq/atWuXfD5f8PG+fft09dVX98l38J6LBx54QGvXrtWTTz6pSZMm6a233pLD4VB8fLx+8pOfWD3eacz/NzACzJ49W7Nnz7Z6jLCrra0Nebxx40YlJiaqsbFR3/ve9yyaqvfNnTs35PHKlSu1du1avfnmm/0ibj755BPNnz9f69ev1/3332/1OGExYMCAbr8CxlQPPPCAUlNT9cQTTwT3fetb37JwovAYMWJEyOPVq1dr7NixmjlzpkUThcfOnTt13XXXac6cOZK+vIL1q1/9Sg0NDRZP1jVelkLY/PUb2YcPH27xJOHj8/m0efNmdXR0dPsVIaZZuHCh5syZo7y8PKtHCZv33ntPo0aN0pgxYzR//nw1NTVZPVKve+GFF5SVlaXrr79eiYmJmjZtmtavX2/1WGHV2dmpp59+WrfcckvYv6sw3KZPny63262DBw9Kkn7/+99rx44dEfsXd67cICz8fr/uuOMOzZgxo198mvTevXuVm5urzz//XIMHD9azzz6r9PR0q8fqdZs3b9bu3bu1a9cuq0cJm5ycHG3cuFHjx4/X8ePHtWLFCl155ZXat2+fhgwZYvV4veb999/X2rVr5XK5dPfdd2vXrl36yU9+oujoaBUVFVk9Xlg899xz+vjjj3XzzTdbPUqvW7p0qdrb2zVhwgTZ7Xb5fD6tXLlS8+fPt3q0LhE3CIuFCxdq37592rFjh9WjhMX48eO1Z88etbW16Te/+Y2Kioq0fft2owOnublZixYt0quvvqrY2Firxwmbv/2b65QpU5STk6PRo0frmWee0YIFCyycrHf5/X5lZWVp1apVkqRp06Zp3759qq6u7jdxs2HDBs2ePfusvqW6r3vmmWf0y1/+Ups2bdKkSZO0Z88e3XHHHRo1alRE/vMmbtDrnE6n/ud//kdvvPGGLr74YqvHCYvo6GiNGzdOkpSZmaldu3ZpzZo1euyxxyyerPc0NjbqxIkT+va3vx3c5/P59MYbb+jRRx+V1+uV3W63cMLwGDZsmC677DIdOnTI6lF61ciRI0+L9YkTJ+q//uu/LJoovI4cOaLXXntNW7dutXqUsFi8eLGWLl2qG264QZI0efJkHTlyROXl5cQN+pdAIKDbb79dzz77rOrq6vrFzYbd8fv98nq9Vo/Rq6666irt3bs3ZJ/D4dCECRO0ZMmSfhE20pc3VP/pT3/STTfdZPUovWrGjBmnfbTDwYMHNXr0aIsmCq8nnnhCiYmJwRtsTffpp5+GfIm1JNntdvn9fosmOjPiJgw++eSTkL/FffDBB9qzZ4+GDx+uSy65xMLJetfChQu1adMmPf/88xoyZIg8Ho8kKT4+XoMGDbJ4ut5TUlKi2bNn65JLLtGpU6e0adMm1dXV6eWXX7Z6tF41ZMiQ0+6nuuCCC3TRRRcZfZ/VXXfdpblz52r06NE6duyYysrKZLfbdeONN1o9Wq+68847NX36dK1atUr//u//roaGBq1bt07r1q2zerRe5/f79cQTT6ioqKhfvO1f+vJdoCtXrtQll1yiSZMm6e2331ZFRYVuueUWq0frWgC97vXXXw9IOm0rKiqyerRe1dU5Swo88cQTVo/Wq2655ZbA6NGjA9HR0YERI0YErrrqqsArr7xi9ViWmDlzZmDRokVWj9GrCgoKAiNHjgxER0cHUlJSAgUFBYFDhw5ZPVZY/Pd//3fg8ssvD8TExAQmTJgQWLdundUjhcXLL78ckBQ4cOCA1aOETXt7e2DRokWBSy65JBAbGxsYM2ZMYNmyZQGv12v1aF3iW8EBAIBR+JwbAABgFOIGAAAYhbgBAABGIW4AAIBRiBsAAGAU4gYAABiFuAEAAEYhbgAAgFGIGwD9WlpamiorK60eA0APIm4ARIxZs2bpjjvusHoMAH0ccQMAAIxC3ACICDfffLO2b9+uNWvWyGazyWaz6fDhw9q+fbuys7MVExOjkSNHaunSpfriiy+Cx82aNUtOp1NOp1Px8fFKSEjQPffco/P92rzHH39cw4YNk9vt7qlTAxBmxA2AiLBmzRrl5uaquLhYx48f1/HjxzVw4EBde+21uuKKK/T73/9ea9eu1YYNG3T//feHHPvkk09qwIABamho0Jo1a1RRUaHHH3/8nGf42c9+pqVLl+qVV17RVVdd1VOnBiDMBlg9AABIUnx8vKKjoxUXF6fk5GRJ0rJly5SamqpHH31UNptNEyZM0LFjx7RkyRKVlpYqKurLv5+lpqbq4Ycfls1m0/jx47V37149/PDDKi4uPuvnX7JkiZ566ilt375dkyZN6pVzBBAeXLkBELHeffdd5ebmymazBffNmDFDn3zyiT788MPgvu985zsha3Jzc/Xee+/J5/Od1fP8/Oc/1/r167Vjxw7CBjAAcQOg37vyyivl8/n0zDPPWD0KgB5A3ACIGNHR0SFXWyZOnKj6+vqQm4P/7//+T0OGDNHFF18c3Pe73/0u5Pe8+eabuvTSS2W328/qebOzs/XSSy9p1apVeuihh77hWQCwGnEDIGKkpaXpd7/7nQ4fPqzW1lbddtttam5u1u233679+/fr+eefV1lZmVwuV/B+G0lqamqSy+XSgQMH9Ktf/UqPPPKIFi1adE7PPX36dG3btk0rVqzgQ/2APo4bigFEjLvuuktFRUVKT0/XZ599pg8++EDbtm3T4sWLNXXqVA0fPlwLFizQ8uXLQ44rLCzUZ599puzsbNntdi1atEg/+tGPzvn5v/vd7+rFF1/UtddeK7vdrttvv72nTg1AGNkC5/thEAAQAWbNmqWMjAyutgAI4mUpAABgFOIGgLF++9vfavDgwd1uAMzEy1IAjPXZZ5/p6NGj3f583LhxYZwGQLgQNwAAwCi8LAUAAIxC3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwyv8D5QDeQ1ZVaNcAAAAASUVORK5CYII=\n"
     },
     "metadata": {}
    }
   ],
   "source": [
    "sns.barplot(x='top_k', y='hit', data=hit_stat_df.groupby('top_k')['hit'].mean().reset_index())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7925564a-7d30-4914-baaf-4a00abb7686d",
   "metadata": {
    "id": "7925564a-7d30-4914-baaf-4a00abb7686d"
   },
   "source": [
    "# 问答"
   ]
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-07-23T15:08:15.067283Z",
     "start_time": "2024-07-23T15:08:15.065512Z"
    }
   },
   "cell_type": "code",
   "source": "## 使用LCEL",
   "id": "f289897a4f3bf47b",
   "outputs": [],
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "source": "### 流式处理",
   "metadata": {
    "id": "_o62oZuZ-6qi"
   },
   "id": "_o62oZuZ-6qi"
  },
  {
   "cell_type": "code",
   "source": [
    "from langchain.llms import Ollama\n",
    "from langchain_core.output_parsers import StrOutputParser\n",
    "from langchain_core.runnables import RunnablePassthrough\n",
    "from langchain_core.prompts import PromptTemplate\n",
    "\n",
    "def format_docs(docs):\n",
    "    return \"\\n\\n\".join(doc.page_content for doc in docs)\n",
    "\n",
    "llm = Ollama(\n",
    "    model='qwen2:7b-instruct',\n",
    "    base_url=\"http://localhost:11434\"\n",
    ")\n",
    "\n",
    "prompt_tmpl = \"\"\"\n",
    "你是一个金融分析师，擅长根据所获取的信息片段，对问题进行分析和推理。\n",
    "你的任务是根据所获取的信息片段（<<<<context>>><<<</context>>>之间的内容）回答问题。\n",
    "回答保持简洁，不必重复问题，不要要添加描述性解释和与答案无关的任何内容。\n",
    "已知信息：\n",
    "<<<<context>>>\n",
    "{context}\n",
    "<<<</context>>>\n",
    "\n",
    "问题：{question}\n",
    "请回答：\n",
    "\"\"\"\n",
    "prompt = PromptTemplate.from_template(prompt_tmpl)\n",
    "retriever = vector_db.as_retriever(search_kwargs={'k': 4})\n",
    "\n",
    "rag_chain = (\n",
    "    {\"context\": retriever | format_docs, \"question\": RunnablePassthrough()}\n",
    "    | prompt\n",
    "    | llm\n",
    "    | StrOutputParser()\n",
    ")\n",
    "\n",
    "for chunk in rag_chain.stream(\"2023年10月美国ISM制造业PMI指数较上月有何变化？\"):\n",
    "    print(chunk, end=\"\", flush=True)"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "jl36b7QsQA0t",
    "outputId": "77c06e77-e633-40e2-e587-c41cee2a3d79"
   },
   "id": "jl36b7QsQA0t",
   "execution_count": null,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "2023年10月美国ISM制造业PMI指数较上个月大幅下降2.3个百分点。"
     ]
    }
   ]
  },
  {
   "cell_type": "markdown",
   "source": "### 非流式输出",
   "metadata": {
    "id": "HbUjsGaF_B4g"
   },
   "id": "HbUjsGaF_B4g"
  },
  {
   "cell_type": "code",
   "source": [
    "print(rag_chain.invoke('2023年10月美国ISM制造业PMI指数较上月有何变化？'))"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "FhM128X6-v0V",
    "outputId": "856bfab3-a015-41b9-c859-c145b8c630bb"
   },
   "id": "FhM128X6-v0V",
   "execution_count": null,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "2023年10月美国ISM制造业PMI指数较上个月大幅下降了2.3个百分点。\n"
     ]
    }
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 流程拆解"
   ],
   "metadata": {
    "id": "6iEKt5prCrW8"
   },
   "id": "6iEKt5prCrW8"
  },
  {
   "metadata": {},
   "cell_type": "code",
   "outputs": [],
   "execution_count": null,
   "source": [
    "llm = Ollama(\n",
    "    model='qwen2:7b-instruct',\n",
    "    base_url=\"http://localhost:11434\"\n",
    ")"
   ],
   "id": "26f8a2678a7d45a3"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "5a025198-556b-4b3e-a4a5-1aa7e4381641",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T14:04:33.356053Z",
     "iopub.status.busy": "2024-07-21T14:04:33.355268Z",
     "iopub.status.idle": "2024-07-21T14:04:35.392083Z",
     "shell.execute_reply": "2024-07-21T14:04:35.391745Z",
     "shell.execute_reply.started": "2024-07-21T14:04:33.355982Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 71
    },
    "id": "5a025198-556b-4b3e-a4a5-1aa7e4381641",
    "outputId": "697d71d2-62a1-48d1-e6c7-02b9dda7467c"
   },
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'我是阿里云开发的一款超大规模语言模型，我叫通义千问。作为一个AI助手，我的目标是帮助用户获得准确、有用的信息，解决他们的问题和疑惑。我可以回答各种领域的问题、提供信息查询、解释概念、辅助学习等。请随时向我提问或寻求帮助，我会尽力提供支持。如果您有任何问题或需要解答，请尽管告诉我！'"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "string"
      }
     },
     "metadata": {},
     "execution_count": 48
    }
   ],
   "source": "llm.invoke('你是谁')"
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7cf52672-6e47-458d-b050-51cb45178184",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T14:29:36.744056Z",
     "iopub.status.busy": "2024-07-21T14:29:36.743280Z",
     "iopub.status.idle": "2024-07-21T14:29:36.749038Z",
     "shell.execute_reply": "2024-07-21T14:29:36.748620Z",
     "shell.execute_reply.started": "2024-07-21T14:29:36.743985Z"
    },
    "id": "7cf52672-6e47-458d-b050-51cb45178184"
   },
   "outputs": [],
   "source": [
    "def rag(query, n_chunks=5):\n",
    "    prompt_tmpl = \"\"\"\n",
    "你是一个金融分析师，擅长根据所获取的信息片段，对问题进行分析和推理。\n",
    "你的任务是根据所获取的信息片段（<<<<context>>><<<</context>>>之间的内容）回答问题。\n",
    "回答保持简洁，不必重复问题，不要要添加描述性解释和与答案无关的任何内容。\n",
    "已知信息：\n",
    "<<<<context>>>\n",
    "{{knowledge}}\n",
    "<<<</context>>>\n",
    "\n",
    "问题：{{query}}\n",
    "请回答：\n",
    "\"\"\".strip()\n",
    "\n",
    "    chunks = retrieve(vector_db, question, k=n_chunks)\n",
    "    prompt = prompt_tmpl.replace('{{knowledge}}', '\\n\\n'.join([doc.page_content for doc in chunks])).replace('{{query}}', query)\n",
    "\n",
    "    return llm(prompt), [doc.page_content for doc in chunks]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "258a51b8-e303-444d-9304-700abf3deef8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T14:29:39.544828Z",
     "iopub.status.busy": "2024-07-21T14:29:39.544062Z",
     "iopub.status.idle": "2024-07-21T14:29:39.557948Z",
     "shell.execute_reply": "2024-07-21T14:29:39.555645Z",
     "shell.execute_reply.started": "2024-07-21T14:29:39.544758Z"
    },
    "id": "258a51b8-e303-444d-9304-700abf3deef8"
   },
   "outputs": [],
   "source": [
    "prediction_df = qa_df[qa_df['dataset'] == 'test'][['uuid', 'question', 'qa_type', 'answer']]\n",
    "\n",
    "answer_dict = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "63415e64-1028-4954-99fe-c19c5583849a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2024-07-21T14:29:55.595307Z",
     "iopub.status.busy": "2024-07-21T14:29:55.594446Z",
     "iopub.status.idle": "2024-07-21T14:35:08.104553Z",
     "shell.execute_reply": "2024-07-21T14:35:08.102161Z",
     "shell.execute_reply.started": "2024-07-21T14:29:55.595235Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 105,
     "referenced_widgets": [
      "7a06b66a5d314b0cba2873ac7e4ef63f",
      "cb14f003a5f54307a2bcd268238f090b",
      "a16309c75be54ede82350da8480dc63c",
      "ea911d7a87d14b75bc25f9e2fd1127ae",
      "c9c618159ae94f2ba9766f418212758f",
      "642c1f7b73504ab8af704a9cb901f895",
      "2d14e7f153a341c4b1848d5666a014cd",
      "dcb4167367b64c8293b3d963645feb31",
      "1b0eeba3def649918fbc096799a7b279",
      "6a26f0ee05ff4b1d859d3a31a729c24b",
      "be462996e01346b4a1a92fbc17994320"
     ]
    },
    "id": "63415e64-1028-4954-99fe-c19c5583849a",
    "outputId": "916ac0e0-fd69-4330-fe5e-bd4d9847cdcf"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "  0%|          | 0/100 [00:00<?, ?it/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "7a06b66a5d314b0cba2873ac7e4ef63f"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "/usr/local/lib/python3.10/dist-packages/langchain_core/_api/deprecation.py:139: LangChainDeprecationWarning: The method `BaseLLM.__call__` was deprecated in langchain-core 0.1.7 and will be removed in 0.3.0. Use invoke instead.\n",
      "  warn_deprecated(\n"
     ]
    }
   ],
   "source": [
    "for idx, row in tqdm(prediction_df.iterrows(), total=len(prediction_df)):\n",
    "    uuid = row['uuid']\n",
    "    question = row['question']\n",
    "    answer, context = rag(question, n_chunks=4)\n",
    "    answer_dict[question] = {\n",
    "        'uuid': uuid,\n",
    "        'ref_answer': row['answer'],\n",
    "        'gen_answer': answer,\n",
    "        'context': context\n",
    "    }"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "prediction_df.loc[:, 'gen_answer'] = prediction_df['question'].apply(lambda q: answer_dict[q]['gen_answer'])\n",
    "prediction_df.loc[:, 'context'] = prediction_df['question'].apply(lambda q: answer_dict[q]['context'])"
   ],
   "metadata": {
    "id": "1Tq4E-QmizCF"
   },
   "id": "1Tq4E-QmizCF",
   "execution_count": null,
   "outputs": []
  },
  {
   "cell_type": "code",
   "source": [
    "prediction_df.sample(5)"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 553
    },
    "id": "RJdE6AFRizr_",
    "outputId": "dd08120b-ffcc-4c2f-b2b1-3313f466660b"
   },
   "id": "RJdE6AFRizr_",
   "execution_count": null,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "                                     uuid                       question  \\\n",
       "136  3c0da094-8444-428b-9729-f1caa33e4b06        2023年二季度沙特GDP的同比增长率是多少？   \n",
       "168  9d41e5b3-2a8c-4584-b7b2-a6b7489758c9         日本央行的基准利率在10月31日维持在多少？   \n",
       "5    e73a0c9d-d42b-4350-a4c3-b38bf67c68a5           展望2024年，全球经济复苏的预期如何？   \n",
       "51   0a58414c-bf99-493b-b13b-b83c96af2687  世贸组织对2023年全球货物贸易增速的预测值是多少百分点?   \n",
       "265  28c7d4f0-8cea-48b3-9cfa-6683446fd425              海湾六国经济结构的主要问题是什么？   \n",
       "\n",
       "      qa_type          answer  \\\n",
       "136  detailed            1.2%   \n",
       "168  detailed           -0.1%   \n",
       "5    detailed  全球经济复苏预计将依旧疲软。   \n",
       "51   detailed         0.9个百分点   \n",
       "265  detailed        经济结构相对单一   \n",
       "\n",
       "                                            gen_answer  \\\n",
       "136                            2023年二季度沙特GDP同比仅增长1.2%。   \n",
       "168                       日本央银在10月31日将基准利率维持在-0.1%的水平。   \n",
       "5    2024年全球经济复苏预期将较为疲软，并可能出现进一步分化。发达经济体将面临“遏通胀和稳增长...   \n",
       "51              世贸组织将2023年全球货物贸易增速预测值下调至0.8%，为近几年最低水平。   \n",
       "265  海湾六国经济结构的主要问题是过于依赖传统能源，尤其是石油和天然气，这在一定程度上限制了工业发...   \n",
       "\n",
       "                                               context  \n",
       "136  [全球经济金融展望报告\\n中国银行研究院 40 2024年\\n注重绿色经济发展，为中海经贸合...  \n",
       "168  [全球经济金融展望报告\\n中国银行研究院 17 2024年\\n图11：日本GDP环比增长折年...  \n",
       "5    [全球经济金融展望报告\\n中国银行研究院 2 2024年\\n图1：全球GDP增速（%）\\n资...  \n",
       "51   [全球经济金融展望报告\\n中国银行研究院 7 2024年\\n（图7）。10月，世贸组织将20...  \n",
       "265  [全球经济金融展望报告\\n中国银行研究院 41 2024年\\n湾六国经济增长提供一定支撑，但...  "
      ],
      "text/html": [
       "\n",
       "  <div id=\"df-e4ddea5d-2b68-4939-bbcf-9163b5de203f\" class=\"colab-df-container\">\n",
       "    <div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>uuid</th>\n",
       "      <th>question</th>\n",
       "      <th>qa_type</th>\n",
       "      <th>answer</th>\n",
       "      <th>gen_answer</th>\n",
       "      <th>context</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>136</th>\n",
       "      <td>3c0da094-8444-428b-9729-f1caa33e4b06</td>\n",
       "      <td>2023年二季度沙特GDP的同比增长率是多少？</td>\n",
       "      <td>detailed</td>\n",
       "      <td>1.2%</td>\n",
       "      <td>2023年二季度沙特GDP同比仅增长1.2%。</td>\n",
       "      <td>[全球经济金融展望报告\\n中国银行研究院 40 2024年\\n注重绿色经济发展，为中海经贸合...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>168</th>\n",
       "      <td>9d41e5b3-2a8c-4584-b7b2-a6b7489758c9</td>\n",
       "      <td>日本央行的基准利率在10月31日维持在多少？</td>\n",
       "      <td>detailed</td>\n",
       "      <td>-0.1%</td>\n",
       "      <td>日本央银在10月31日将基准利率维持在-0.1%的水平。</td>\n",
       "      <td>[全球经济金融展望报告\\n中国银行研究院 17 2024年\\n图11：日本GDP环比增长折年...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>e73a0c9d-d42b-4350-a4c3-b38bf67c68a5</td>\n",
       "      <td>展望2024年，全球经济复苏的预期如何？</td>\n",
       "      <td>detailed</td>\n",
       "      <td>全球经济复苏预计将依旧疲软。</td>\n",
       "      <td>2024年全球经济复苏预期将较为疲软，并可能出现进一步分化。发达经济体将面临“遏通胀和稳增长...</td>\n",
       "      <td>[全球经济金融展望报告\\n中国银行研究院 2 2024年\\n图1：全球GDP增速（%）\\n资...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>0a58414c-bf99-493b-b13b-b83c96af2687</td>\n",
       "      <td>世贸组织对2023年全球货物贸易增速的预测值是多少百分点?</td>\n",
       "      <td>detailed</td>\n",
       "      <td>0.9个百分点</td>\n",
       "      <td>世贸组织将2023年全球货物贸易增速预测值下调至0.8%，为近几年最低水平。</td>\n",
       "      <td>[全球经济金融展望报告\\n中国银行研究院 7 2024年\\n（图7）。10月，世贸组织将20...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>265</th>\n",
       "      <td>28c7d4f0-8cea-48b3-9cfa-6683446fd425</td>\n",
       "      <td>海湾六国经济结构的主要问题是什么？</td>\n",
       "      <td>detailed</td>\n",
       "      <td>经济结构相对单一</td>\n",
       "      <td>海湾六国经济结构的主要问题是过于依赖传统能源，尤其是石油和天然气，这在一定程度上限制了工业发...</td>\n",
       "      <td>[全球经济金融展望报告\\n中国银行研究院 41 2024年\\n湾六国经济增长提供一定支撑，但...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>\n",
       "    <div class=\"colab-df-buttons\">\n",
       "\n",
       "  <div class=\"colab-df-container\">\n",
       "    <button class=\"colab-df-convert\" onclick=\"convertToInteractive('df-e4ddea5d-2b68-4939-bbcf-9163b5de203f')\"\n",
       "            title=\"Convert this dataframe to an interactive table.\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "  <svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\" viewBox=\"0 -960 960 960\">\n",
       "    <path d=\"M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z\"/>\n",
       "  </svg>\n",
       "    </button>\n",
       "\n",
       "  <style>\n",
       "    .colab-df-container {\n",
       "      display:flex;\n",
       "      gap: 12px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert {\n",
       "      background-color: #E8F0FE;\n",
       "      border: none;\n",
       "      border-radius: 50%;\n",
       "      cursor: pointer;\n",
       "      display: none;\n",
       "      fill: #1967D2;\n",
       "      height: 32px;\n",
       "      padding: 0 0 0 0;\n",
       "      width: 32px;\n",
       "    }\n",
       "\n",
       "    .colab-df-convert:hover {\n",
       "      background-color: #E2EBFA;\n",
       "      box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "      fill: #174EA6;\n",
       "    }\n",
       "\n",
       "    .colab-df-buttons div {\n",
       "      margin-bottom: 4px;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert {\n",
       "      background-color: #3B4455;\n",
       "      fill: #D2E3FC;\n",
       "    }\n",
       "\n",
       "    [theme=dark] .colab-df-convert:hover {\n",
       "      background-color: #434B5C;\n",
       "      box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);\n",
       "      filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));\n",
       "      fill: #FFFFFF;\n",
       "    }\n",
       "  </style>\n",
       "\n",
       "    <script>\n",
       "      const buttonEl =\n",
       "        document.querySelector('#df-e4ddea5d-2b68-4939-bbcf-9163b5de203f button.colab-df-convert');\n",
       "      buttonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "\n",
       "      async function convertToInteractive(key) {\n",
       "        const element = document.querySelector('#df-e4ddea5d-2b68-4939-bbcf-9163b5de203f');\n",
       "        const dataTable =\n",
       "          await google.colab.kernel.invokeFunction('convertToInteractive',\n",
       "                                                    [key], {});\n",
       "        if (!dataTable) return;\n",
       "\n",
       "        const docLinkHtml = 'Like what you see? Visit the ' +\n",
       "          '<a target=\"_blank\" href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'\n",
       "          + ' to learn more about interactive tables.';\n",
       "        element.innerHTML = '';\n",
       "        dataTable['output_type'] = 'display_data';\n",
       "        await google.colab.output.renderOutput(dataTable, element);\n",
       "        const docLink = document.createElement('div');\n",
       "        docLink.innerHTML = docLinkHtml;\n",
       "        element.appendChild(docLink);\n",
       "      }\n",
       "    </script>\n",
       "  </div>\n",
       "\n",
       "\n",
       "<div id=\"df-945a628c-3a89-4b26-ae0f-7058cd615ca1\">\n",
       "  <button class=\"colab-df-quickchart\" onclick=\"quickchart('df-945a628c-3a89-4b26-ae0f-7058cd615ca1')\"\n",
       "            title=\"Suggest charts\"\n",
       "            style=\"display:none;\">\n",
       "\n",
       "<svg xmlns=\"http://www.w3.org/2000/svg\" height=\"24px\"viewBox=\"0 0 24 24\"\n",
       "     width=\"24px\">\n",
       "    <g>\n",
       "        <path d=\"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z\"/>\n",
       "    </g>\n",
       "</svg>\n",
       "  </button>\n",
       "\n",
       "<style>\n",
       "  .colab-df-quickchart {\n",
       "      --bg-color: #E8F0FE;\n",
       "      --fill-color: #1967D2;\n",
       "      --hover-bg-color: #E2EBFA;\n",
       "      --hover-fill-color: #174EA6;\n",
       "      --disabled-fill-color: #AAA;\n",
       "      --disabled-bg-color: #DDD;\n",
       "  }\n",
       "\n",
       "  [theme=dark] .colab-df-quickchart {\n",
       "      --bg-color: #3B4455;\n",
       "      --fill-color: #D2E3FC;\n",
       "      --hover-bg-color: #434B5C;\n",
       "      --hover-fill-color: #FFFFFF;\n",
       "      --disabled-bg-color: #3B4455;\n",
       "      --disabled-fill-color: #666;\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart {\n",
       "    background-color: var(--bg-color);\n",
       "    border: none;\n",
       "    border-radius: 50%;\n",
       "    cursor: pointer;\n",
       "    display: none;\n",
       "    fill: var(--fill-color);\n",
       "    height: 32px;\n",
       "    padding: 0;\n",
       "    width: 32px;\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart:hover {\n",
       "    background-color: var(--hover-bg-color);\n",
       "    box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);\n",
       "    fill: var(--button-hover-fill-color);\n",
       "  }\n",
       "\n",
       "  .colab-df-quickchart-complete:disabled,\n",
       "  .colab-df-quickchart-complete:disabled:hover {\n",
       "    background-color: var(--disabled-bg-color);\n",
       "    fill: var(--disabled-fill-color);\n",
       "    box-shadow: none;\n",
       "  }\n",
       "\n",
       "  .colab-df-spinner {\n",
       "    border: 2px solid var(--fill-color);\n",
       "    border-color: transparent;\n",
       "    border-bottom-color: var(--fill-color);\n",
       "    animation:\n",
       "      spin 1s steps(1) infinite;\n",
       "  }\n",
       "\n",
       "  @keyframes spin {\n",
       "    0% {\n",
       "      border-color: transparent;\n",
       "      border-bottom-color: var(--fill-color);\n",
       "      border-left-color: var(--fill-color);\n",
       "    }\n",
       "    20% {\n",
       "      border-color: transparent;\n",
       "      border-left-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "    }\n",
       "    30% {\n",
       "      border-color: transparent;\n",
       "      border-left-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "      border-right-color: var(--fill-color);\n",
       "    }\n",
       "    40% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "      border-top-color: var(--fill-color);\n",
       "    }\n",
       "    60% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "    }\n",
       "    80% {\n",
       "      border-color: transparent;\n",
       "      border-right-color: var(--fill-color);\n",
       "      border-bottom-color: var(--fill-color);\n",
       "    }\n",
       "    90% {\n",
       "      border-color: transparent;\n",
       "      border-bottom-color: var(--fill-color);\n",
       "    }\n",
       "  }\n",
       "</style>\n",
       "\n",
       "  <script>\n",
       "    async function quickchart(key) {\n",
       "      const quickchartButtonEl =\n",
       "        document.querySelector('#' + key + ' button');\n",
       "      quickchartButtonEl.disabled = true;  // To prevent multiple clicks.\n",
       "      quickchartButtonEl.classList.add('colab-df-spinner');\n",
       "      try {\n",
       "        const charts = await google.colab.kernel.invokeFunction(\n",
       "            'suggestCharts', [key], {});\n",
       "      } catch (error) {\n",
       "        console.error('Error during call to suggestCharts:', error);\n",
       "      }\n",
       "      quickchartButtonEl.classList.remove('colab-df-spinner');\n",
       "      quickchartButtonEl.classList.add('colab-df-quickchart-complete');\n",
       "    }\n",
       "    (() => {\n",
       "      let quickchartButtonEl =\n",
       "        document.querySelector('#df-945a628c-3a89-4b26-ae0f-7058cd615ca1 button');\n",
       "      quickchartButtonEl.style.display =\n",
       "        google.colab.kernel.accessAllowed ? 'block' : 'none';\n",
       "    })();\n",
       "  </script>\n",
       "</div>\n",
       "\n",
       "    </div>\n",
       "  </div>\n"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "dataframe",
       "summary": "{\n  \"name\": \"prediction_df\",\n  \"rows\": 5,\n  \"fields\": [\n    {\n      \"column\": \"uuid\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"9d41e5b3-2a8c-4584-b7b2-a6b7489758c9\",\n          \"28c7d4f0-8cea-48b3-9cfa-6683446fd425\",\n          \"e73a0c9d-d42b-4350-a4c3-b38bf67c68a5\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"question\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"\\u65e5\\u672c\\u592e\\u884c\\u7684\\u57fa\\u51c6\\u5229\\u7387\\u572810\\u670831\\u65e5\\u7ef4\\u6301\\u5728\\u591a\\u5c11\\uff1f\",\n          \"\\u6d77\\u6e7e\\u516d\\u56fd\\u7ecf\\u6d4e\\u7ed3\\u6784\\u7684\\u4e3b\\u8981\\u95ee\\u9898\\u662f\\u4ec0\\u4e48\\uff1f\",\n          \"\\u5c55\\u671b2024\\u5e74\\uff0c\\u5168\\u7403\\u7ecf\\u6d4e\\u590d\\u82cf\\u7684\\u9884\\u671f\\u5982\\u4f55\\uff1f\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"qa_type\",\n      \"properties\": {\n        \"dtype\": \"category\",\n        \"num_unique_values\": 1,\n        \"samples\": [\n          \"detailed\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"answer\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"-0.1%\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"gen_answer\",\n      \"properties\": {\n        \"dtype\": \"string\",\n        \"num_unique_values\": 5,\n        \"samples\": [\n          \"\\u65e5\\u672c\\u592e\\u94f6\\u572810\\u670831\\u65e5\\u5c06\\u57fa\\u51c6\\u5229\\u7387\\u7ef4\\u6301\\u5728-0.1%\\u7684\\u6c34\\u5e73\\u3002\"\n        ],\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    },\n    {\n      \"column\": \"context\",\n      \"properties\": {\n        \"dtype\": \"object\",\n        \"semantic_type\": \"\",\n        \"description\": \"\"\n      }\n    }\n  ]\n}"
      }
     },
     "metadata": {},
     "execution_count": 53
    }
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "name": "python3",
   "language": "python"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.9"
  },
  "colab": {
   "provenance": [],
   "gpuType": "T4"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "8ae8db517ad14268a8f7864a01b8191c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_a76676eca3684c3eb4a2a1d896c3a966",
       "IPY_MODEL_04d57f5f4e694641a38239de125e446d",
       "IPY_MODEL_92e13d95804a45d4a636dfbdec0772c2"
      ],
      "layout": "IPY_MODEL_a761689717ac4ec89c218a99fce3eb27"
     }
    },
    "a76676eca3684c3eb4a2a1d896c3a966": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_156f58b920b143c4b2147878f84a2809",
      "placeholder": "​",
      "style": "IPY_MODEL_d11d56deec8547c48d7bfec194fead9b",
      "value": "modules.json: 100%"
     }
    },
    "04d57f5f4e694641a38239de125e446d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ed00c82e5220472d822e8dee4d773608",
      "max": 349,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_db0cded2a2e14f7c821eb10ea54a6b80",
      "value": 349
     }
    },
    "92e13d95804a45d4a636dfbdec0772c2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ce09b1931e5146d6b4a592afc8146bd6",
      "placeholder": "​",
      "style": "IPY_MODEL_ab1782bb839b490f890a7b78c40cb9f9",
      "value": " 349/349 [00:00&lt;00:00, 15.5kB/s]"
     }
    },
    "a761689717ac4ec89c218a99fce3eb27": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "156f58b920b143c4b2147878f84a2809": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d11d56deec8547c48d7bfec194fead9b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "ed00c82e5220472d822e8dee4d773608": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "db0cded2a2e14f7c821eb10ea54a6b80": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "ce09b1931e5146d6b4a592afc8146bd6": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ab1782bb839b490f890a7b78c40cb9f9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "fc64c338a9234e2b95f2eb7193a8e976": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_b51bb55a9e12441fa1cc8bf46fcee318",
       "IPY_MODEL_cd7dd87b8b924da890595c26a47456e9",
       "IPY_MODEL_04b4df7da6054cebb1b4a7361d904517"
      ],
      "layout": "IPY_MODEL_b730a3024024445eb7b93ce25cf4a8bf"
     }
    },
    "b51bb55a9e12441fa1cc8bf46fcee318": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_525fb3b924614e74937ae9cd26711527",
      "placeholder": "​",
      "style": "IPY_MODEL_78362c0f00114573bdd9ef5883815140",
      "value": "config_sentence_transformers.json: 100%"
     }
    },
    "cd7dd87b8b924da890595c26a47456e9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8df9bde6169b46a498949108e00fbaf8",
      "max": 124,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_b9d1345184cf4f35a7f107079bad50fc",
      "value": 124
     }
    },
    "04b4df7da6054cebb1b4a7361d904517": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_caa7636b326743e0a0b9075d029bf908",
      "placeholder": "​",
      "style": "IPY_MODEL_c66e0318f9b444af84686d737555ace6",
      "value": " 124/124 [00:00&lt;00:00, 9.05kB/s]"
     }
    },
    "b730a3024024445eb7b93ce25cf4a8bf": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "525fb3b924614e74937ae9cd26711527": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "78362c0f00114573bdd9ef5883815140": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8df9bde6169b46a498949108e00fbaf8": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b9d1345184cf4f35a7f107079bad50fc": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "caa7636b326743e0a0b9075d029bf908": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c66e0318f9b444af84686d737555ace6": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "a9798a3378554f408c7bd016abcb1d26": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_c8f8237bbaea49d6824ca103d3a66bba",
       "IPY_MODEL_fc9daa43549645708c23293195087cdb",
       "IPY_MODEL_0e8bdeab87ba4aa4863bc8cb1f5d05e2"
      ],
      "layout": "IPY_MODEL_0fa3d8cc67f245679850c5b9e9ba7b6b"
     }
    },
    "c8f8237bbaea49d6824ca103d3a66bba": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f7f88ad7f22e4076bcc3a4f5a3348883",
      "placeholder": "​",
      "style": "IPY_MODEL_b627f32931c343e3927a930a82c2e180",
      "value": "README.md: 100%"
     }
    },
    "fc9daa43549645708c23293195087cdb": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_1afffc47ddfa4095bcdf42fef01b1771",
      "max": 30376,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_c21838ae58a642cd92d5bed9e2d64410",
      "value": 30376
     }
    },
    "0e8bdeab87ba4aa4863bc8cb1f5d05e2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_fab84da34e7b4acaac607f3ebf41fc5e",
      "placeholder": "​",
      "style": "IPY_MODEL_6d56498445964a739f55bd5914671611",
      "value": " 30.4k/30.4k [00:00&lt;00:00, 1.20MB/s]"
     }
    },
    "0fa3d8cc67f245679850c5b9e9ba7b6b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f7f88ad7f22e4076bcc3a4f5a3348883": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b627f32931c343e3927a930a82c2e180": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "1afffc47ddfa4095bcdf42fef01b1771": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c21838ae58a642cd92d5bed9e2d64410": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "fab84da34e7b4acaac607f3ebf41fc5e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6d56498445964a739f55bd5914671611": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "4bf9408046b24e70bcbc434ce81f1586": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_b3e6e10a9c0945a2b29c3455a6db590e",
       "IPY_MODEL_d8bf0fbdcbc24b938ccc3f5525496c8b",
       "IPY_MODEL_68549cda864b414c9cc9c69c52c1c7bb"
      ],
      "layout": "IPY_MODEL_3228b0e6be2146928c6dc0fbd5d2636e"
     }
    },
    "b3e6e10a9c0945a2b29c3455a6db590e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_cab762281bc642b689349908f8c8d509",
      "placeholder": "​",
      "style": "IPY_MODEL_a2eb0ac561e045ec9cb44586da815516",
      "value": "sentence_bert_config.json: 100%"
     }
    },
    "d8bf0fbdcbc24b938ccc3f5525496c8b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9e6053b8a79841c1a2c75c110ed2e2c1",
      "max": 52,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_173f5ea18ee643eda658ed6ec7fb8888",
      "value": 52
     }
    },
    "68549cda864b414c9cc9c69c52c1c7bb": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_385a708cb16f4de9bf83796f6c321d34",
      "placeholder": "​",
      "style": "IPY_MODEL_93c6143ee1e34a589f102307fce2be46",
      "value": " 52.0/52.0 [00:00&lt;00:00, 3.97kB/s]"
     }
    },
    "3228b0e6be2146928c6dc0fbd5d2636e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "cab762281bc642b689349908f8c8d509": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a2eb0ac561e045ec9cb44586da815516": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9e6053b8a79841c1a2c75c110ed2e2c1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "173f5ea18ee643eda658ed6ec7fb8888": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "385a708cb16f4de9bf83796f6c321d34": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "93c6143ee1e34a589f102307fce2be46": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "05ddafa8e53b4323a3b87773d8c52d7b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_cc3634bb596c4730a6ff72fbf6093e2b",
       "IPY_MODEL_44f1502b9d8c44bdb8e67823df3b61df",
       "IPY_MODEL_d7b73b320a214a1c8564cb87c9fc7c1f"
      ],
      "layout": "IPY_MODEL_ce2e09ea7a584e87828f247c01e710ef"
     }
    },
    "cc3634bb596c4730a6ff72fbf6093e2b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b63739062c34496d9e18d64e9d572c04",
      "placeholder": "​",
      "style": "IPY_MODEL_3a24ba6d66704525a0f65044d36c3116",
      "value": "config.json: 100%"
     }
    },
    "44f1502b9d8c44bdb8e67823df3b61df": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_0c24bf2912564885944b15fe875b9e86",
      "max": 1000,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_2a1fa9e5abcc40a5b27565b86eba4f2a",
      "value": 1000
     }
    },
    "d7b73b320a214a1c8564cb87c9fc7c1f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f4705f680041401f9ded40e945e5e72e",
      "placeholder": "​",
      "style": "IPY_MODEL_64c85d2d6d164b579de82467cd0fc5a9",
      "value": " 1.00k/1.00k [00:00&lt;00:00, 74.0kB/s]"
     }
    },
    "ce2e09ea7a584e87828f247c01e710ef": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b63739062c34496d9e18d64e9d572c04": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "3a24ba6d66704525a0f65044d36c3116": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "0c24bf2912564885944b15fe875b9e86": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2a1fa9e5abcc40a5b27565b86eba4f2a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "f4705f680041401f9ded40e945e5e72e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "64c85d2d6d164b579de82467cd0fc5a9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "d1c23ba161fe48deb887bef9a696e98c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_ee2051c6fa9c4c62abffb2c41ad6cbf9",
       "IPY_MODEL_e41b27af5bdb4917b5c176b14f1d38f1",
       "IPY_MODEL_2bd0a1cdd3a0493db3a2b7c9ea999614"
      ],
      "layout": "IPY_MODEL_1bb07d56deff47b89d80c88460420a28"
     }
    },
    "ee2051c6fa9c4c62abffb2c41ad6cbf9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e8484544ce2c4b82b306676a3c73f9bf",
      "placeholder": "​",
      "style": "IPY_MODEL_70c9685019ed480fa6b1a30b224d3d0a",
      "value": "pytorch_model.bin: 100%"
     }
    },
    "e41b27af5bdb4917b5c176b14f1d38f1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f4f24a8906f7451abfe8cea83dbc6c2d",
      "max": 1302220525,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_d529d59457d14794862a5c98602eeb51",
      "value": 1302220525
     }
    },
    "2bd0a1cdd3a0493db3a2b7c9ea999614": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_5167b90dfe31453f98f7a97c1bf45e77",
      "placeholder": "​",
      "style": "IPY_MODEL_36f12265773f4c95b0665bfaf3a383db",
      "value": " 1.30G/1.30G [00:08&lt;00:00, 274MB/s]"
     }
    },
    "1bb07d56deff47b89d80c88460420a28": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e8484544ce2c4b82b306676a3c73f9bf": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "70c9685019ed480fa6b1a30b224d3d0a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "f4f24a8906f7451abfe8cea83dbc6c2d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d529d59457d14794862a5c98602eeb51": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "5167b90dfe31453f98f7a97c1bf45e77": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "36f12265773f4c95b0665bfaf3a383db": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "d4250feb91a547b8ba55a716ed72bc41": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_fe7e1ce77a8e459e817b5c3a061dc3b9",
       "IPY_MODEL_cb2afcae4aeb45c4a097532ff5fe0660",
       "IPY_MODEL_0367de25b0804a079fef3a9fa4a1b2f2"
      ],
      "layout": "IPY_MODEL_044f48908671438ab65b8040a4b09f40"
     }
    },
    "fe7e1ce77a8e459e817b5c3a061dc3b9": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c6701afdd6f24032acfa724c5d1b5ca3",
      "placeholder": "​",
      "style": "IPY_MODEL_a6267c3585994150b0119e18f92b253c",
      "value": "tokenizer_config.json: 100%"
     }
    },
    "cb2afcae4aeb45c4a097532ff5fe0660": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_2528a771e3174761ac4fdbf5bb737722",
      "max": 394,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_274c88624c3449799ec984186146b688",
      "value": 394
     }
    },
    "0367de25b0804a079fef3a9fa4a1b2f2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8a391251a1c54dbba308f304d9d0b6dd",
      "placeholder": "​",
      "style": "IPY_MODEL_fe47f740059d4216b018d9439bc9aafa",
      "value": " 394/394 [00:00&lt;00:00, 17.7kB/s]"
     }
    },
    "044f48908671438ab65b8040a4b09f40": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c6701afdd6f24032acfa724c5d1b5ca3": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a6267c3585994150b0119e18f92b253c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "2528a771e3174761ac4fdbf5bb737722": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "274c88624c3449799ec984186146b688": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "8a391251a1c54dbba308f304d9d0b6dd": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "fe47f740059d4216b018d9439bc9aafa": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "4e2cca81afd544b5af33bad236a574cc": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_2312778eaac94a2696f435c8443b58f7",
       "IPY_MODEL_2b252be54a4e4758b9e039ce0d16ca3c",
       "IPY_MODEL_354eacb8b3ff436aa6e9c98a0392a478"
      ],
      "layout": "IPY_MODEL_4dd431b7458e4cfdb0b45ad6f4560574"
     }
    },
    "2312778eaac94a2696f435c8443b58f7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_12126a45430f407d8c903f408679df7d",
      "placeholder": "​",
      "style": "IPY_MODEL_432e5082c3424903a2e0fcf857947d6f",
      "value": "vocab.txt: 100%"
     }
    },
    "2b252be54a4e4758b9e039ce0d16ca3c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_269f2ddeec3e4ae6a9d13a46e2a831a1",
      "max": 109540,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_05a457d2c35b403e9ad2d0cdee3b617d",
      "value": 109540
     }
    },
    "354eacb8b3ff436aa6e9c98a0392a478": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_87abda91a5274305b493028d82c72e22",
      "placeholder": "​",
      "style": "IPY_MODEL_6ef4117d7a3045bbbab01f71b6d9c828",
      "value": " 110k/110k [00:00&lt;00:00, 865kB/s]"
     }
    },
    "4dd431b7458e4cfdb0b45ad6f4560574": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "12126a45430f407d8c903f408679df7d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "432e5082c3424903a2e0fcf857947d6f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "269f2ddeec3e4ae6a9d13a46e2a831a1": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "05a457d2c35b403e9ad2d0cdee3b617d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "87abda91a5274305b493028d82c72e22": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6ef4117d7a3045bbbab01f71b6d9c828": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "0312233d069f47c689d98e7e0fa7da5b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_94d281a28c64465294758a200817ada1",
       "IPY_MODEL_6efb43f11ea045038eade7ea773cdd8e",
       "IPY_MODEL_3bc9f26eda0e4f818e6f23df31195c5e"
      ],
      "layout": "IPY_MODEL_b2bb7e0af2d442a3974e8471c1765d54"
     }
    },
    "94d281a28c64465294758a200817ada1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_474dde96127645e38017b38b11a78a01",
      "placeholder": "​",
      "style": "IPY_MODEL_78b34247c0ec43a6acf54a0fc913dae3",
      "value": "tokenizer.json: 100%"
     }
    },
    "6efb43f11ea045038eade7ea773cdd8e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b318510199794db1907adce0cdc007ce",
      "max": 439124,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_956e4999e48e4d30bc971154d70c1ead",
      "value": 439124
     }
    },
    "3bc9f26eda0e4f818e6f23df31195c5e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_683160f1e0ca40599b35d8ba784bc10a",
      "placeholder": "​",
      "style": "IPY_MODEL_bdfb41f5379d4c12872ad647c51937e8",
      "value": " 439k/439k [00:00&lt;00:00, 3.47MB/s]"
     }
    },
    "b2bb7e0af2d442a3974e8471c1765d54": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "474dde96127645e38017b38b11a78a01": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "78b34247c0ec43a6acf54a0fc913dae3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "b318510199794db1907adce0cdc007ce": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "956e4999e48e4d30bc971154d70c1ead": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "683160f1e0ca40599b35d8ba784bc10a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bdfb41f5379d4c12872ad647c51937e8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "549d665ac28c4d4bb3be5593c4653191": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_819646ccaab2464d8688a31e4f345d96",
       "IPY_MODEL_1199feec159e44c3a5ebdb582e687950",
       "IPY_MODEL_173b837173314d86b948673d376f5c3c"
      ],
      "layout": "IPY_MODEL_b0dec5996bcf42f3a9b798c07180513d"
     }
    },
    "819646ccaab2464d8688a31e4f345d96": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b742e09a17024e9ea54cbe81bb328d8c",
      "placeholder": "​",
      "style": "IPY_MODEL_f3e5aeafad9b470bbb54880644519aa8",
      "value": "special_tokens_map.json: 100%"
     }
    },
    "1199feec159e44c3a5ebdb582e687950": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e6024d09af914986bec1834c773f1627",
      "max": 125,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_fd7a02cc1f884940bb98c5bed786d5a1",
      "value": 125
     }
    },
    "173b837173314d86b948673d376f5c3c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_55bf13ec08794f5c821fe62b1104c89b",
      "placeholder": "​",
      "style": "IPY_MODEL_425ebec3c1ca4393ab7bb6f45b694d82",
      "value": " 125/125 [00:00&lt;00:00, 9.11kB/s]"
     }
    },
    "b0dec5996bcf42f3a9b798c07180513d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b742e09a17024e9ea54cbe81bb328d8c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f3e5aeafad9b470bbb54880644519aa8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e6024d09af914986bec1834c773f1627": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "fd7a02cc1f884940bb98c5bed786d5a1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "55bf13ec08794f5c821fe62b1104c89b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "425ebec3c1ca4393ab7bb6f45b694d82": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9c6d6ecd27ec456f8fe894c8ab31fab1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_a14c32c2257e40c7ab724e3de4a0e954",
       "IPY_MODEL_c1e1ac7befd34eefb7463d85ded81796",
       "IPY_MODEL_03ad8540620b4a0b977503df9550e03e"
      ],
      "layout": "IPY_MODEL_4d7be10c64b94c98965305f696f9398a"
     }
    },
    "a14c32c2257e40c7ab724e3de4a0e954": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_852f2146db4743888460097cec7bf938",
      "placeholder": "​",
      "style": "IPY_MODEL_779a96631812433ab007fcc32bda72a3",
      "value": "1_Pooling/config.json: 100%"
     }
    },
    "c1e1ac7befd34eefb7463d85ded81796": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6a6de690242042c788e7bf4e93cbc256",
      "max": 191,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_767ff3484a4d45db9c32932a892521a5",
      "value": 191
     }
    },
    "03ad8540620b4a0b977503df9550e03e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_38a531c0e0454085b6a8bad2b6fe162b",
      "placeholder": "​",
      "style": "IPY_MODEL_5946f069abe14153a0929aafca9bbdfc",
      "value": " 191/191 [00:00&lt;00:00, 10.0kB/s]"
     }
    },
    "4d7be10c64b94c98965305f696f9398a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "852f2146db4743888460097cec7bf938": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "779a96631812433ab007fcc32bda72a3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "6a6de690242042c788e7bf4e93cbc256": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "767ff3484a4d45db9c32932a892521a5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "38a531c0e0454085b6a8bad2b6fe162b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "5946f069abe14153a0929aafca9bbdfc": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "14963d0f85154fbf9ab49ef84840f921": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_0bbf9d684d77494794eb50139323f82b",
       "IPY_MODEL_25d2069884884c5d9b145cbbc6d454f2",
       "IPY_MODEL_85b79c6c8ebb440eb8ff423dbc75c183"
      ],
      "layout": "IPY_MODEL_6da130e16c28435d983f5b817c406265"
     }
    },
    "0bbf9d684d77494794eb50139323f82b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b94356d13b624b87afe94eae90c8bb73",
      "placeholder": "​",
      "style": "IPY_MODEL_ade929269f854be2bed144b486671d6c",
      "value": "100%"
     }
    },
    "25d2069884884c5d9b145cbbc6d454f2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8dba47c2b2dc41cda3afc4918321f605",
      "max": 93,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_cf393ed116a248e9a924daa4ff24da64",
      "value": 93
     }
    },
    "85b79c6c8ebb440eb8ff423dbc75c183": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_608807c98d464ba987fe6c08e6e8958c",
      "placeholder": "​",
      "style": "IPY_MODEL_51ae5239814d484386f1f776b24b1c6a",
      "value": " 93/93 [00:03&lt;00:00, 36.24it/s]"
     }
    },
    "6da130e16c28435d983f5b817c406265": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b94356d13b624b87afe94eae90c8bb73": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ade929269f854be2bed144b486671d6c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8dba47c2b2dc41cda3afc4918321f605": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "cf393ed116a248e9a924daa4ff24da64": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "608807c98d464ba987fe6c08e6e8958c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "51ae5239814d484386f1f776b24b1c6a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "7a06b66a5d314b0cba2873ac7e4ef63f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_cb14f003a5f54307a2bcd268238f090b",
       "IPY_MODEL_a16309c75be54ede82350da8480dc63c",
       "IPY_MODEL_ea911d7a87d14b75bc25f9e2fd1127ae"
      ],
      "layout": "IPY_MODEL_c9c618159ae94f2ba9766f418212758f"
     }
    },
    "cb14f003a5f54307a2bcd268238f090b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_642c1f7b73504ab8af704a9cb901f895",
      "placeholder": "​",
      "style": "IPY_MODEL_2d14e7f153a341c4b1848d5666a014cd",
      "value": "100%"
     }
    },
    "a16309c75be54ede82350da8480dc63c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_dcb4167367b64c8293b3d963645feb31",
      "max": 100,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_1b0eeba3def649918fbc096799a7b279",
      "value": 100
     }
    },
    "ea911d7a87d14b75bc25f9e2fd1127ae": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6a26f0ee05ff4b1d859d3a31a729c24b",
      "placeholder": "​",
      "style": "IPY_MODEL_be462996e01346b4a1a92fbc17994320",
      "value": " 100/100 [06:00&lt;00:00,  5.72s/it]"
     }
    },
    "c9c618159ae94f2ba9766f418212758f": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "642c1f7b73504ab8af704a9cb901f895": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2d14e7f153a341c4b1848d5666a014cd": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "dcb4167367b64c8293b3d963645feb31": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "1b0eeba3def649918fbc096799a7b279": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "6a26f0ee05ff4b1d859d3a31a729c24b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "be462996e01346b4a1a92fbc17994320": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    }
   }
  },
  "accelerator": "GPU"
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
